代码如下:
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;
}