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

最好可以验证闰年等等... 最好可以验证闰年等等 展开
 我来答
百度网友b79519e
2014-11-03 · TA获得超过3399个赞
知道大有可为答主
回答量:1417
采纳率:100%
帮助的人:1334万
展开全部

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

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;
}

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

yugi111
2014-11-03 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>JS</title>
<STYLE>
</STYLE>
<script type="text/javascript">
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));
    }
</script>
</head>
<body>
</body>
</html>
追问
当闰年的时候,二月只有28天,这个要怎么体现?还有1、3等等月份是31天,其它是30天这个约束要怎么体现。可以只用正则表达式表示吗?
追答
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>JS</title>
<STYLE>
</STYLE>
<script type="text/javascript">
var reg = /^(((0[13578]|1[02])\-(0[1-9]|[12]\d|3[01]))|((0[469]|11)\-(0[1-9]|[12]\d|3[0]))|(02\-(0[1-9]|2[0-8])))\-[1-9]\d{3}$/;
    var str = "02-30-2011";
    alert (reg.test (str));
</script>
</head>
<body>
</body>
</html>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式