javascript中如何判断输入的日期是否正确
发布网友
发布时间:2022-04-29 18:33
我来回答
共2个回答
热心网友
时间:2022-04-23 08:05
我建议你还是不要去判断吧,很麻烦的,自动给他转换吧,把平年的2月29直接转换为3月1日,把1月32转换为2月1日,例子代码如下:
<input type=text onChange="chk_date(this);">
<script type=text/javascript>
function chk_date(f)
{
s=f.value.split('-');
y=parseInt(s[0]);
m=parseInt(s[1]);
d=parseInt(s[2]);
if (isNaN(y) || isNaN(m) || isNaN(d)){alert("请正确填写日期(例如:2002-5-22)!");return false;}
dd=new Date(y,m-1,d);
y=dd.getYear();
m=dd.getMonth()+1;
d=dd.getDate();
f.value=y+'-'+m+'-'+d;
alert(dd);
}
</script>
以上代码调试通过,如果你愿意,可以解决你的问题。
热心网友
时间:2022-04-23 09:23
可以用这个正则表达式判断:
function verify_date(date_str)
{
var myReg=new RegExp("^(?:(?:([0-9]{4}/(?:(?:0?[1,3-9]|1[0-2])/(?:29|30)|((?:0?[13578]|1[02])/31)))|([0-9]{4}/(?:0?[1-9]|1[0-2])/(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))/0?2/29)))$");
if(myReg.test(date_str))
alert("对不起,请您按以下格式输入日期:\n2005-5-5或2005/1/1");
return myReg.test(date_str);
}
date_str是用户输入的日期
参考资料:http://zhidao.baidu.com/question/86258167.html?si=1