<head><title>日期有效性检测--支持格式:yyyy-mm-dd,yyyy/mm/dd,mm/dd/yyyy,mm-dd-yyyy</title>
<script language="JavaScript">
<!--
function validateDate(fld) {
if (!checkDate(fld.value)) {
fld.focus( );
fld.select( );
return false;
}
return true;
}
function checkDate(entry) {
var mo, day, yr;
var re = /\b\d{4}[\/-]\d{1,2}[\/-]\d{1,2}\b/;
var re1= /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;
if ((re.test(entry)||re1.test(entry))&&entry.length<=10)
{
var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
var delim1 = entry.indexOf(delimChar);
var delim2 = entry.lastIndexOf(delimChar);
if(re.test(entry))
{
yr = parseInt(entry.substring(0, delim1), 10);
mo = parseInt(entry.substring(delim1+1, delim2), 10);
day = parseInt(entry.substring(delim2+1), 10);
}
else
{
mo = parseInt(entry.substring(0, delim1), 10);
day = parseInt(entry.substring(delim1+1, delim2), 10);
yr = parseInt(entry.substring(delim2+1), 10);
}
var testDate = new Date(yr, mo-1, day);
//alert(testDate.toLocaleDateString());
if (testDate.getDate( ) == day)
{
if (testDate.getMonth( ) + 1 == mo)
{
if (testDate.getFullYear( ) == yr)
{
return true;
}
else
{
alert("日期无效,年份错误!");
}
}
else
{
alert("日期无效,月份错误!");
}
}
else
{
alert("日期无效,日子错误!");
}
}
else
{
alert("输入的日期格式无效。请以下述格式输入:yyyy/mm/dd,yyyy-mm-dd,mm/dd/yyyy,mm-dd-yyyy");
}
return false;
}
// -->
</script>
</head>
<body><font face="宋体" size="+1">
<form name="DateTest" >
请输入日期:
<input type="text"
name="Datecode"
size=40>
<br>
<input type="button"
value="检测日期"
onClick="if( validateDate(DateTest.Datecode)) {alert('日期有效。')}">
<br><input type="reset" value="重置">
</form>
</body>
</html>
![hitwall.gif](/Emoticons/hitwall.gif)