时间和日期的正则表达式验证
来源:互联网 发布:c51单片机题库及答案 编辑:程序博客网 时间:2024/06/06 19:08
^(?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日期和时间
- 判断日期和时间的正则表达式
- C#:日期和时间的正则表达式
- 几个C#日期、时间验证的正则表达式
- 几个C#日期、时间验证的正则表达式
- js验证日期时间格式正则表达式
- 日期验证的正则表达式
- 验证日期的正则表达式
- 判断日期和时间格式的 正则表达式
- 正则表达式验证日期和Email
- 日期验证正则表达式
- 正则表达式验证日期
- 正则表达式验证日期
- 正则表达式 日期 验证
- UEStudio.v11.20没有“离线激活”按钮,自己想办法弄好
- 用asp.net实现远程获取其他网站页面指定内容
- Oracle Wallet 的初步使用和维护
- c++ object model 摘抄
- JAVA 垃圾处理
- 时间和日期的正则表达式验证
- 玩编译的一点教训
- CKEditor 3.6 + CKFinder 2.0在Asp.Net中的配置与基本用法
- 另外一个 指针与内存的错误
- 从一张表复制数据到另外一张表
- bloom filter 的Java 版
- sqlplus 登陆远程oracle主机
- 曲面重复纹理填充
- node.js+android http请求响应