判断时间的js如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><BODY>
<script>
function checkDate(){ //时间判断
var emailPattern = /^[0-9]{4}\-[0-1]?[0-9]?\-[0-3]?[0-9]?$/;
if (emailPattern.test(document.all.nc.value)==false)
alert("非法的时间!")
else
alert("正确的时间!")
}
checkDate()
</script></BODY>
</HTML>
判断文本框如下
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD><BODY>
<script>
function test(){
    var n=0;
if(f.a.value.length==0){
alert("请输入内容!");
}else{
for(i=0;i<f.a.value.length;i++){
    alert(f.a.value.charAt(i));
if(f.a.value.charAt(i)<0||f.a.value.charAt(i)>9){
alert("必须输入数字");
return false;
}else{
if(f.a.value.charAt(i)>0){n=1;}
}
}
if(n==0){
alert("输入的数字不能为0!");
 }
}
}
</script>
<form name="f">
<INPUT TYPE="text" NAME="a" >
<input type=button name="b" value="校验" onclick="test();">
</form>
</BODY>
</HTML>

解决方案 »

  1.   

    1. /\d{4}-[0-1]\d-[0-3]\d/
    正则表达式只是做格式限定、字符匹配,无法判断系统时间
    2. /\d*[1-9]/
      

  2.   

    日起再来一个更准确一点的
    /\d{4}-(0\d|1[0-2])-([0-2]\d|3[0-1])/
      

  3.   

    可以不用正则表达式,用longshenwang(独眼龙)的方法,使用函数,将文本框输入的日期与系统时间进行比较,检查是否小于等于系统日期,如果小于等于则正确,否则错误。
      

  4.   

    判断日期的函数如下:
    function IsDate(str)
    {
      var re=/^(\d{4})-(\d{1,2})-(\d{1,2})$/
    if(!re.test(str)) 
    {alert('日期输入不对,格式如:2003-05-03');}
    else {
    var r=str.match(re)
    var d=new Date(r[1],r[2]-1,r[3])
    d.getFullYear()==r[1]&&d.getMonth()==r[2]-1&&d.getMonth()==r[3]
    var today = new Date(); 
           today.getYear();                                                             
           today.getMonth();                                                        
           today.getDate();
     if (d>today)
     {
     alert('日期大于系统日期!')
     }
    }
    }