求:正则表达式验证日期(YYYY⼀MM⼀DD HH)

求一正则表达式 验证日期 正则表达式验证日期 格式为:YYYY/MM/DD HH
2025-04-08 17:07:16
推荐回答(1个)
回答1:

呵呵,你的问题有点特殊,还要带小时。不过也可以做。已经作好了。代码如下。保存为html文件。直接点击运行即可。

用正则表达式对日期字符串进行验证:


说明:
1:日期格式为,如:2008/8/8
12或是2008/08/08
23都是正确的。
2:可以对0000~9999年中的任一天的日期进行合法性验证。
3:对于闰年时2月有29号此种情况也进行有效验证。
4:举例不合格日期,1984/1/32
25

1984/04/31
25

2001/02/29
25


type="text"
name=regexp_content
size="80"
value="2000/2/29
01">
type="button"
value="验证"
onclick="alert(verify_date(this.form.regexp_content.value))">


language="javascript"
type="text/javascript">
//验证日期的格式为****/**/**
**,
//已经考虑到了闰年的问题,如2001/2/29是不允许的。而2008/2/29则是可以的。
//入口参数:日期字符串;
//出口参数:true|false
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)))
(0?\\d|1\\d|2[0-3]))$");
return
myReg.test(date_str);
}