时间正则表达式

来源:互联网 发布:php exec 返回值127 编辑:程序博客网 时间:2024/06/01 15:54

一、
(((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9]))|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29))|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29))|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29))|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29))|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29))|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29))|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29))|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)))((\s+(0?[1-9]|1[012])(:[0-5]\d){0,2}(\s[AP]M))?$|(\s+([01]\d|2[0-3])(:[0-5]\d){0,2})?$))

它可以验证
日期:是闰年的情况,一年只有12个月,一个月内有多少天(包括闰年),年月日可以用-/._分隔
时间:可以验证一天只有24小时、60分、60秒,AM、PM

二、
(((^((1[8-9]\d{2})|([2-9]\d{3}))-(10|12|0?[13578])-(3[01]|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))-(11|0?[469])-(30|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))-(0?2)-(2[0-8]|1[0-9]|0?[1-9]))|(^([2468][048]00)-(0?2)-(29))|(^([3579][26]00)-(0?2)-(29))|(^([1][89][0][48])-(0?2)-(29))|(^([2-9][0-9][0][48])-(0?2)-(29))|(^([1][89][2468][048])-(0?2)-(29))|(^([2-9][0-9][2468][048])-(0?2)-(29))|(^([1][89][13579][26])-(0?2)-(29))|(^([2-9][0-9][13579][26])-(0?2)-(29)))((\s+(0?[1-9]|1[012])(:[0-5]\d){0,2}(\s[AP]M))?$|(\s+([01]\d|2[0-3])(:[0-5]\d){0,2})?$))

年月日只能用“-”分隔

三、
((^((1[8-9]\d{2})|([2-9]\d{3}))-(10|12|0?[13578])-(3[01]|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))-(11|0?[469])-(30|[12][0-9]|0?[1-9]))|(^((1[8-9]\d{2})|([2-9]\d{3}))-(0?2)-(2[0-8]|1[0-9]|0?[1-9]))|(^([2468][048]00)-(0?2)-(29))|(^([3579][26]00)-(0?2)-(29))|(^([1][89][0][48])-(0?2)-(29))|(^([2-9][0-9][0][48])-(0?2)-(29))|(^([1][89][2468][048])-(0?2)-(29))|(^([2-9][0-9][2468][048])-(0?2)-(29))|(^([1][89][13579][26])-(0?2)-(29))|(^([2-9][0-9][13579][26])-(0?2)-(29)))$

年月日只能用“-”分隔,不匹配时间只匹配年月日

四、((^([2-9]\d{3})-(10|12|0?[13578])-(3[01]|[12][0-9]|0?[1-9]))|(^([2-9]\d{3})-(11|0?[469])-(30|[12][0-9]|0?[1-9]))|(^([2-9]\d{3})-(0?2)-(2[0-8]|1[0-9]|0?[1-9]))|(^([2468][048]00)-(0?2)-(29))|(^([3579][26]00)-(0?2)-(29))|(^([2-9][0-9][0][48])-(0?2)-(29))|(^([2-9][0-9][2468][048])-(0?2)-(29))|(^([2-9][0-9][13579][26])-(0?2)-(29)))$

年月日只能用“-”分隔,不匹配时间只匹配年月日,只匹配2000年以后的日期

转载自http://jianzhong5137.blog.163.com/blog/static/9829049201011235456311/
原创粉丝点击