网上找的一段代码,用着还不错,但是只能验证2000年以后的日期。 就是输入2000年以前的日期都会提示日期不对,而之后的就可以。哪位大虾帮忙改一下,先谢了!!代码如下:function checkDate(str)
{
    try
    {
        if(str.length=="0")
        {
            return true;
        }
        if(/\-/.test(str) && /\//.test(str))
        {
            return false;
        }
        
        str = str.replace(/\-/g,"/");//必须要用正则来替换,否则只替换第一个出现的字符串
        var tmp = str.split("/");
        
        if(tmp.length > 3)
        {
            return false;
        }
        
        var tempDate = new Date(str);
        
        var year = tempDate.getYear();
        var month = tempDate.getMonth() + 1;
        var day = tempDate.getDate();
        
        //判断中间不允许有空格
        if(/\s/.test(tmp[0]) || /\s/.test(tmp[1]) || /\s/.test(tmp[2]))
        {
            alert("中间不允许出现空格!");
            return false;
        }
        
        //判断年、月、日位数,可以根据自己需求修改
        if(tmp[0].length < 3 || tmp[0].length > 4)
        {
            return false;
        }
        
        if(tmp[1].length > 2)
        {
            return false;
        }
        
        if(tmp[2].length > 2)
        {
            return false;
        }
        //判断年、月、日位数,可以根据自己需求修改
        
        if(tempDate != null)
        {    
            return year == tmp[0] && month == tmp[1] && day == tmp[2];            
        }else
        {
            return false;
        }
    }catch(ex)
    {
        //alert(ex.message);
        return false;
    }
}