js验证日期格式mm-dd-yyyy,例如月份不要超过12

最好可以验证闰年等等
2025-01-08 12:12:00
推荐回答(2个)
回答1:

代码如下,可根据自己需求改一下

function checkdate(sdate){
    var mdy,m,d,y;
    var dayOfMonth=[31,28,31,30,31,30,31,31,30,31,30,31];        ;
    if(mdy=sdate.match(/^([01]\d)-([0-3]\d)-(\d{4})$/)){
        m=mdy[1];
        d = mdy[2];
        y = mdy[3];
        if(m > 12){
            alert("一年最多只有12个月");
            return false;
        } 
        if(isLeapYear(y)){
         dayOfMonth[1]=29;        
        }
        if(d > dayOfMonth[m-1]){
            alert(y+"年"+m+"月最多只有"+dayOfMonth[m-1]+"天");
            return false;
        }       
    }else{
        alert("日期格式不正确");
        return false;
    }
    return true;
}

function isLeapYear(year){
    if(year % 100 ===0){
        if(year % 400 ===0){
            return true;
        }else{
            return false;
        }
    }
    if(year % 4 ===0){
        return true;
    }
    return false;
}

这只是一个简单的实现,仅供参考

回答2:





JS


window.onload = function ()
    {
    var date = new Date, year = date.getFullYear ();
    if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
    {
    alert ('今年是闰年');
    }
    else
    {
    alert ('今年不是闰年');
    }
    
    var reg = /^(0[1-9]|1[0-2])\-(0[1-9]|[12]\d|3[01])\-[1-9]\d{3}$/;
    var str = "12-01-2011";
    alert (reg.test(str));
    
    str = "13-01-2011";
    alert (reg.test(str));
    }