<script language=javascript> String.prototype.isDate = function() { var r = this.match(/^(\d{4})(-|\/)(\d{2})\2(\d{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("2002-01-31".isDate()); alert("2002-01-41".isDate()); </script>
<script language="JavaScript"> <!-- function CheckDate(strDate){ var reg=/^(\d{4})([-])(\d{2})([-])(\d{2})/; if(!reg.test(strDate)){ alert("日期格式不正确!\n正确格式为:2004-01-01"); return false; } var ss=strDate.split("-"); var year=ss[0]; var month=ss[1]; var date=ss[2]; if(!checkYear(year)){return false;} if(!checkMonth(month)){return false;} if(!checkDate(year,month,date)){return false;} return true; } function checkYear(year){ if(isNaN(parseInt(year))){alert("年份输入有误,请重新输入!"); return false;} else if(parseInt(year)<1950 || parseInt(year) >2050){ alert("年份应该在1950-2050之间!"); return false} else return true; } function checkMonth(month){ if(isNaN(parseInt(month))){alert("月份输入有误,请重新输入!"); return false;} else if(parseInt(month)<1 || parseInt(month) >12){ alert("月份应该在1-12之间!"); return false} else return true; } function checkDate(year,month,date){ var daysOfMonth=CalDays(parseInt(year),parseInt(month)); if(isNaN(parseInt(date))){alert("日期输入有误,请重新输入!"); return false;} else if(parseInt(date)<0||parseInt(date)>daysOfMonth){ alert("日期应该在1-"+daysOfMonth+"之间!"); return false;} else return true; } function CalDays(year,month){ var date= new Date(year,month,0); return date.getDate(); } function isLeapYear(year){ if((year %4==0 && year %100!=0) || (year %400==0)) return true; else return false; } alert(CheckDate("2007-02-29")); //--> </script>
String.prototype.isDate = function()
{
var r = this.match(/^(\d{4})(-|\/)(\d{2})\2(\d{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("2002-01-31".isDate());
alert("2002-01-41".isDate());
</script>
<!--
function CheckDate(strDate){
var reg=/^(\d{4})([-])(\d{2})([-])(\d{2})/;
if(!reg.test(strDate)){
alert("日期格式不正确!\n正确格式为:2004-01-01");
return false;
}
var ss=strDate.split("-");
var year=ss[0];
var month=ss[1];
var date=ss[2];
if(!checkYear(year)){return false;}
if(!checkMonth(month)){return false;}
if(!checkDate(year,month,date)){return false;}
return true;
}
function checkYear(year){
if(isNaN(parseInt(year))){alert("年份输入有误,请重新输入!"); return false;}
else if(parseInt(year)<1950 || parseInt(year) >2050){ alert("年份应该在1950-2050之间!"); return false}
else return true;
}
function checkMonth(month){
if(isNaN(parseInt(month))){alert("月份输入有误,请重新输入!"); return false;}
else if(parseInt(month)<1 || parseInt(month) >12){ alert("月份应该在1-12之间!"); return false}
else return true;
}
function checkDate(year,month,date){
var daysOfMonth=CalDays(parseInt(year),parseInt(month));
if(isNaN(parseInt(date))){alert("日期输入有误,请重新输入!"); return false;}
else if(parseInt(date)<0||parseInt(date)>daysOfMonth){ alert("日期应该在1-"+daysOfMonth+"之间!"); return false;}
else return true;
}
function CalDays(year,month){
var date= new Date(year,month,0);
return date.getDate();
}
function isLeapYear(year){
if((year %4==0 && year %100!=0) || (year %400==0)) return true;
else return false;
}
alert(CheckDate("2007-02-29"));
//-->
</script>