<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(),这样可以了
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(),这样可以了
http://www.csdn.net/expert/topic/712/712631.xml?temp=.8327295
<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>