<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/1/31"));
alert(isDate("2002-01-41"));
</script>

解决方案 »

  1.   

    <script language=javascript>
    function check(form){
       if (document.form1.textfield.value==""){
             alert('日期不能为空!');
             return false;
          }
    var date;
    date=document.form1.textfield.value;
    if (date.substring(4,5)!="/" || (date.substring(7,8)!="/"  && date.substring(6,7)!="/")){
       alert("你输入的日期格式不对!格式应为:年/月/日");
       return false;
    }
     if (date.length==10)
     {  if (date.substring(5,6)>"12" || date.substring(8,9)>"31")
           {alert("你输入的日期不正确!");
                  return false;
                }
       }
                if (date.length>10)
        {  
           alert("你输入的日期不正确!");
                  return false;
           }
            
    if (date.length<8)
        {  
           alert("你输入的日期不正确!");
                  return false;
           }   
      if (date.length==9)
     { if (date.substring(7,8)=="/"  )
           {  
       if (date.substring(5,7)>"12")   
       { alert("你输入的日期不正确!");
                  return false;
      }
    }
    if (date.substring(6,7)=="/"  )
           {   if (date.substring(7,9)>"31")
       { alert("你输入的日期不正确!");
                  return false;
      }   
                }
       }
      return true;
    }
    </script>
      

  2.   

    http://community.csdn.net/Expert/topic/3301/3301406.xml?temp=.4400598