一、
(((^((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/