/^(19|20)\d{2}-(0?\d|1[012])-(0?\d|[12]\d|3[01])$/;
这个是1900-2099,简单验证1-12月,1-31日,对于2月30这样的不管。如果都验证,这个正则表达式会很长,你看懂这个自己就会改了。例如:
<html>
<body>
<script language="javascript">
<!--
function test()
{
var pattern=/^(19|20)\d{2}-(0?\d|1[012])-(0?\d|[12]\d|3[01])$/;
var str=document.getElementById("str").value;
if(pattern.test(str)){alert("True!");}
else{alert("False!");}
}
-->
</script>
<input type="text" id="str">
<input type="button" value="Test" οnclick="test()">
</body>
</html>
这里是判断yyyy-mm-dd这种格式的,基本上把闰年和2月等的情况都考虑进去了,不过我已经忘了在哪里找到的。
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
下面的是加了时间验证的
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$
这个是1900-2099,简单验证1-12月,1-31日,对于2月30这样的不管。如果都验证,这个正则表达式会很长,你看懂这个自己就会改了。例如:
<html>
<body>
<script language="javascript">
<!--
function test()
{
var pattern=/^(19|20)\d{2}-(0?\d|1[012])-(0?\d|[12]\d|3[01])$/;
var str=document.getElementById("str").value;
if(pattern.test(str)){alert("True!");}
else{alert("False!");}
}
-->
</script>
<input type="text" id="str">
<input type="button" value="Test" οnclick="test()">
</body>
</html>
这里是判断yyyy-mm-dd这种格式的,基本上把闰年和2月等的情况都考虑进去了,不过我已经忘了在哪里找到的。
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
下面的是加了时间验证的
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$