我也曾经碰到过这个问题,这么解决的。 在输入时间的文本框里加入下面的javascript函数就行了。 function strDateTime(str){ var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,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]); } str为文本框输入的时间字符串。
在输入时间的文本框里加入下面的javascript函数就行了。
function strDateTime(str){
var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,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]);
}
str为文本框输入的时间字符串。
//功能介绍检查是否是日期
//要检查的字符串datestr,型如:2004-09-09
//返回:true,false
function chkdate(datestr)
{
var lthdatestr;
if (datestr != ""){
lthdatestr= datestr.length ;
}else{
lthdatestr=0;
} var tmpy="";
var tmpm="";
var tmpd="";
//var datestr;
var status;
status=0;
if ( lthdatestr== 0)
return 0; for (i=0;i<lthdatestr;i++)
{
if ((datestr.charAt(i)<'0'||datestr.charAt(i)>'9')&&datestr.charAt(i)!='-')
{
return 0;
}
} for (i=0;i<lthdatestr;i++)
{ if (datestr.charAt(i)== '-')
{
status++;
}
if (status>2)
{
//alert("Invalid format of date!");
return 0;
}
if ((status==0) && (datestr.charAt(i)!='-'))
{
tmpy=tmpy+datestr.charAt(i);
}
if ((status==1) && (datestr.charAt(i)!='-'))
{
tmpm=tmpm+datestr.charAt(i);
}
if ((status==2) && (datestr.charAt(i)!='-'))
{
tmpd=tmpd+datestr.charAt(i);
} } year=new String (tmpy);
month=new String (tmpm);
day=new String (tmpd);
if ((tmpy.length!=4) || (tmpm.length!=2) || (tmpd.length!=2))
{
//alert("Invalid format of date!");
return 0;
}
if (!((1<=month) && (12>=month) && (31>=day) && (1<=day)))
{
//alert ("Invalid month or day!");
return 0;
}
if (!((year % 4)==0) && (month==2) && (day==29))
{
//alert ("This is not a leap year!");
return 0;
}
if ((month<=7) && ((month % 2)==0) && (day>=31))
{
//alert ("This month is a small month!");
return 0; }
if ((month>=8) && ((month % 2)==1) && (day>=31))
{
//alert ("This month is a small month!");
return 0;
}
if ((month==2) && (day==30))
{
//alert("The Febryary never has this day!");
return 0;
}
return 1;
}