<script language="JScript">
function isdate(strDate){  //验证时间函数
  var strSeparator = "-"; 
  var strDateArray; 
  var intYear; 
  var intMonth; 
  var intDay; 
  var boolLeapYear; 
  
  strDateArray = strDate.split(strSeparator); 
  
  if(strDateArray.length!=3) return false;
  
  intYear = parseInt(strDateArray[0],10); 
  intMonth = parseInt(strDateArray[1],10); 
  intDay = parseInt(strDateArray[2],10); 
  
  if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false; 
  
  if(intMonth>12||intMonth<1) return false; 
  
  if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) return false; 
  
  if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) return false; 
  
  if(intMonth==2){ 
     if(intDay<1) return false; 
      
     boolLeapYear = false; 
     if((intYear%100)==0){ 
        if((intYear%400)==0) boolLeapYear = true; 
     } 
     else{ 
        if((intYear%4)==0) boolLeapYear = true; 
     } 
      
     if(boolLeapYear){ 
        if(intDay>29) return false; 
     } 
     else{ 
        if(intDay>28) return false; 
     } 
  } 
  
  return true; 
}
</script>
这个函数有参数,你必须用在另一个函数中,把时间的值传给他,如果为返回为false,你可以用alert() ,之后用focus(),这样可以了

解决方案 »

  1.   

    http://www.csdn.net/expert/topic/747/747366.xml?temp=.3840601
    http://www.csdn.net/expert/topic/712/712631.xml?temp=.8327295
      

  2.   

    <form name=myform onsubmit="return(checkit())">
    <input type=text name=year>年<input type=text name=month>月<input type=text name=day>日
    <hr>
    <input ty[e=text name=hour>时<input type=text name=minut>分<input type=text name=second>秒
    <input type=submit name=submit value=submit>
    </form><script>
    function checkit(){
    fm = document.myform;
    // var d1  = new Date(fm.year.value,fm.month.value,fm.day.value);
    var d2  = new Date(fm.year.value,fm.month.value-1,fm.day.value,fm.hour.value,fm.minut.value,fm.second.value);
    if(d2.getFullYear() != fm.year.value) alert("year wrong");
    if(d2.getMonth()+1 != fm.month.value) alert("month wrong");
    if(d2.getDate() != fm.day.value) alert("day error");
    if(d2.getHours() != fm.hour.value) alert("hour error");
    if(d2.getMinutes()!= fm.minut.value) alert("minute error");
    if(d2.getSeconds() != fm.second.value) alert("second error");
    return(false);
    } </script>