str.search(/^\d{4}-\d{2}-\d{2}$/)
比大小直接用字典比较就可以了

解决方案 »

  1.   

    function isValidDate(dateStr)
    {
    // Checks for the following valid date formats:
    //MM/dd/yyyy
    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?
    if (dateStr=="")
    {
    alert("日期没填");
    return false;
    }
    if (matchArray == null)
    {
    alert("日期格式无效");
    return false;
    }
    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[4];
    if (month < 1 || month > 12)
    { // check month range
    alert("‘月’的有效范围必须在1至12之间");
    return false;
    }
    if (day < 1 || day > 31)
    {
    alert("‘日’的有效范围必须在1至31之间");
    return false;
    }
    if ((month==4 || month==6 || month==9 || month==11) && day==31)
    {
    alert(month+"月不能有31天!")
    return false
    }
    if (month == 2)
    { // check for february 29th
    var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
    if (day>29 || (day==29 && !isleap))
    {
    alert(year+"年二月不能有"+ day + "天");
    return false;
       }
    }
    return true;  // date is valid
    }