<html>
<head>
<title></title>
<script language="javascript">
function CheckDate(obj)
{
var sDate = obj.value;
var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31];
var iaDate = new Array(3);
var year, month, day;
if (arguments.length != 1)
{
alert("程序里调用的参数有错,/n只能一个参数!");
obj.focus();
obj.select();
return false;
}
iaDate = sDate.toString().split("-");
if(obj.value != "")
{
if(iaDate.length != 3)
{
alert("日期格式错误,正确格式:2000-01-01");
obj.focus();
obj.select();
return false;
}
if (iaDate[1].length > 2 || iaDate[2].length > 2)
{
alert("日期格式错误,正确格式:2000-01-01或2000-1-1");
obj.focus();
obj.select();
return false;
}
year = parseFloat(iaDate[0])
month = parseFloat(iaDate[1])
day=parseFloat(iaDate[2])
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
if (month < 1 || month > 12)
{
alert("月份错误,月份范围应在1-12之间!");
obj.focus();
obj.select();
return false;
}
if (day < 1 || day > iaMonthDays[month - 1])
{
alert("日期错误,日期范围应在1-" + iaMonthDays[month - 1] + "之间");
obj.focus();
obj.select();
return false;
}
var a=/^/d{4}-((0[1-9]{1})|([1-9]{1})|(1[0-2]{1}))-((0[1-9]{1})|([1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))$/;
if (!a.test(document.all("aa").value)){
alert("日期格式错误,正确格式:2000-01-01或2000-1-1")
obj.focus();
obj.select();
return false
}
else
return true
}
return true
}
</script>
</head>
<body>
<input id="aa" name="aa" type="text" οnblur="CheckDate(this)">
</body>
</html>