在秋水的基础上写的函数
function isDate(obj)
{
if(arguments==1)msg="日期格式不正确!";
else msg=arguments[1];
var re=/^(\d{1,4})(-|\/|\.)(\d{1,2})\2(\d{1,2})$/;
var result=false;
var r=obj.value.match(re);
if(r!=null){
var d= new Date(r[1], r[3]-1,r[4]);
var s=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
result=(s==obj.value);
}
if(!result)
{
alert(msg);
obj.select();
return false;
}
else return true;
}
function isDate(obj)
{
if(arguments==1)msg="日期格式不正确!";
else msg=arguments[1];
var re=/^(\d{1,4})(-|\/|\.)(\d{1,2})\2(\d{1,2})$/;
var result=false;
var r=obj.value.match(re);
if(r!=null){
var d= new Date(r[1], r[3]-1,r[4]);
var s=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
result=(s==obj.value);
}
if(!result)
{
alert(msg);
obj.select();
return false;
}
else return true;
}
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD><script language="javascript">
function IsDate(dateStr)
{
// Checks for the following valid date formats:
// MM/DD/YYYY MM-DD-YYYY var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; var matchArray = dateStr.match(datePat)
if (matchArray == null)
return false month = matchArray[1]
day = matchArray[3]
year = matchArray[4]
if (month < 1 || month > 12)
return false if (day < 1 || day > 31)
return false if ((month==4 || month==6 || month==9 || month==11) && day==31)
return false if (month == 2)
{
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
if (day>29 || (day==29 && !isleap))
return false;
}
return true;
}
alert(IsDate("02/28/2002"))
</script>
<BODY></BODY>
</HTML>