验证一年的输入.
var regex=/^1949|19[5-9][0-9]|2000$/;验证一年中的12个月的输入。
var regex=/^(0[1-9]|1[0-2])$/;验证一个月日期的输入。
var regex=/^((0?[1-9])|((1|2)[0-9])|30|31)$/; 以年为例
<html>
<head>
<title>Javascript正则表达式</title>
</head>
<body>
<script >
function regex()
{
var regex=/^1949|19[5-9][0-9]|2000$/;
var str = document.form1.name1.value;
var result = regex.test(str);
alert(result);
}
</script>
<form name=form1>
<input type=text name=name1 >
<input type=button onClick="regex()" value="test">
</form>
</body>
</html>

解决方案 »

  1.   

    http://community.csdn.net/Expert/TopicView3.asp?id=5245247
    上面最后一个,当你选月时,他自动生成对应的日期,不需要判断了
      

  2.   

    用 Date.parse(日期字符串) 格式化一下就可以了 try..catch 一下就知道是否合法了
      

  3.   

    if (year % 4=0 and year % 100 <>0) or year % 400=0
        men2lim=29
    else
        men2lim=28
    \\下面就是判断常月份和日子的js语法我不太会,有人能帮我写个完整的么?变量用year,month,day
    感激不尽
      

  4.   

    完整代码,每月都已判断<body onload=fillSel()>
    <select id=year></select>
    <select id="month" ></select>
    <select id="day" ></select>
    <input type=button onclick=checkDate() value="check">
    </body><script language=javascript>function addOption(st,end,obj)
    {
    for(var i=st;i<=end;i++)
    {
    var op = new Option(i,i);
    obj.options.add(op);
    }
    }function fillSel()
    {

    addOption(1949,2000,year);
    addOption(1,12,month);
    addOption(1,31,day);

    }
    function checkDate()
    {
    var y = year.value;
    var m = month.value;
    var d = day.value;
    var dd = new Date(m+"/"+d+"/"+y);
    var dateStr = dd.toLocaleString();
    newMonth = dateStr.substring(dateStr.indexOf("年")+1,dateStr.indexOf("月")); if(newMonth!= parseInt(m,10).toString())
    {
    alert("Wrong Date");
    return false;
    }else
    {
    alert("True Date");
    return true;
    }}
    </script>
      

  5.   

    这是我最新发现的妙招,关键就是利用toLocaleString()这个函数,可省去了每个月天数的判断
    (:
    限于中文日期格式,英文的改一下也就可以了