时间和日期的正则表达式验证
2011-12-14 15:57
295 查看
一:
^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2(?'day'((?<!(\2((0?[2469])|11)\2))31)|(?<!\2(0?2)\2)(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}))?)$
可以匹配如下
12:30 PM
2004-02-29
2004/3/31 02:31:35
2011-07-25 15:44:45
2004/3/31 02:31:35 AM
二:
^((((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$
只能匹配
2004-08-08 15:00:30
三:
^(?:(?!0000)[0-9]{4}([-/.]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2\2(?:29))$
能匹配(包括平年闰年)
2001-8-8
2001-08-12
2001-8-12
2001-12-8
扩展:点击打开链接
^(?ni:(?=\d)((?'year'((1[6-9])|([2-9]\d))\d\d)(?'sep'[/.-])(?'month'0?[1-9]|1[012])\2(?'day'((?<!(\2((0?[2469])|11)\2))31)|(?<!\2(0?2)\2)(29|30)|((?<=((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)\2\3\2)29)|((0?[1-9])|(1\d)|(2[0-8])))(?:(?=\x20\d)\x20|$))?((?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2}))?)$
可以匹配如下
12:30 PM
2004-02-29
2004/3/31 02:31:35
2011-07-25 15:44:45
2004/3/31 02:31:35 AM
二:
^((((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$
只能匹配
2004-08-08 15:00:30
三:
^(?:(?!0000)[0-9]{4}([-/.]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]?)0?2\2(?:29))$
能匹配(包括平年闰年)
2001-8-8
2001-08-12
2001-8-12
2001-12-8
扩展:点击打开链接
相关文章推荐
- 验证有效 "日期时间" 的正则表达式(已解决闰二月)
- Python 正则表达式验证ISO 8601日期和时间
- 验证日期时间的正则表达式
- 正则表达式验证日期时间<转>
- 验证日期时间的正则表达式
- 正则表达式 - java验证IP地址 - java验证日期时间,解决润月 - java验证邮箱格式
- 验证有效 "日期时间" 的正则表达式(已解决闰二月)
- 请教:验证日期时间的正则表达式
- 验证日期时间的正则表达式
- 验证有效 "日期时间" 的正则表达式(已解决闰二月)
- 验证有效 "日期时间" 的正则表达式(已解决闰二月)
- 超强的正则表达式验证日期和时间
- 几个C#日期、时间验证的正则表达式
- javascript 验证日期时间的正则表达式
- 手机与电话的正则表达式 验证有效日期时间的正则表达式(已解决闰二月)
- 验证日期时间的正则表达式
- 验证有效 日期时间的正则表达式(已解决闰二月)
- 验证有效 "日期时间" 的正则表达式(已解决闰二月)
- js正则表达式具体时间的验证,当前日期跟所填日期比较大小,时间的比较
- js验证日期时间格式正则表达式