<html>
<script language="javascript">
function test(strDate)
{
var reg = /^\d{4}\/\d{1,2}\/\d{1,2}$/gi;//年份必须是四位,月份必须一位或两位,日必须是一位或两位
var r = reg.test(strDate);
alert(r);
}
</script>
<body>
<input type="text" id="T1" value="2003/02/03"><input type="button" value="测试" onclick="test(document.all.T1.value)">
</body>
</html>

解决方案 »

  1.   

    <script language=javascript>
    function isDate(str)
    {
       var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/); 
       if(r==null)return false; 
       var d= new Date(r[1], r[3]-1, r[4]); 
       return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }
    alert(isDate("2002-01-31"));
    alert(isDate("2002/01/31"));
    alert(isDate("2002-01-41"));
    </script>
      

  2.   

    var reg = /^(19|20)\d{2}\/[0-1]\d\/([0-2]\d|3[0-1])$/;不用g,因为前面用^后面用$说的就是整个字符串
    不用i,这里一个字母也没有
      

  3.   

    再修改一下:
    var reg = /^(19|20)\d{2}\/(0[1-9]|1[0-2])\/(0[1-9]|[1-2]\d|3[0-1])$/;
      

  4.   

    <input type="text" id="T1" value="2003/02/03">
    <input type="button" value="测试" onclick="vbscript:alert(isdate(T1.value))">