匹配yyyy-mm-dd⽇期格式的的正则表达式
今天头让我修改个javascript⽅法,验证输⼊的⽇期是否符合要求。恩。我们的要求是yyyy-mm-dd这样的格式,其他的统统不符合要求。原来的⽅法没⽤正则表达式,⽤了⼀堆判断。、
复制代码代码如下:
function checkDate(fname){
var sc = $("#"+fname);
var s = sc.val();
if (sc==null){
alert("Element is null");
return true;
}
var reg=/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]| [2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
if(!s.match(reg)){
alert("false");
}else{
alert("true"); }
}
复制代码代码如下:
<body>
<input type="date" name="textfield" id="text1" >
<input type="button" value="按钮" onClick="checkDate('text1')">
</body>
正确的正则表达式(包括测试代码):
复制代码代码如下:
var str = '2009-12-33';
正则匹配方法if(str.match(/^((?:19|20)\d\d)-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/)) {
alert('是⽇期');
} else {
alert('不是⽇期');
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。