现在的位置: 首页 > 综合 > 正文

正则表达式来验证日期

2018年01月29日 ⁄ 综合 ⁄ 共 841字 ⁄ 字号 评论关闭

验证日期的正则表达式:

1. 验证是否为闰年(2月29)

2. 验证月份(1、3、5、7、8、10、12 都31天)

3. 验证秒数等

 

^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(/s(((0?[0-9])|(1[0-9])|(2[0-3]))/:(([0-5][0-9])|([0-9]))(((/s)|(/:(([0-5][0-9])|([0-9]))))?)))?$

 

可以通过下面这些个例子:
2004-2-29
1900-2-29 (非闰年小BUG,但不重要了,因实际上很少遇到)
2006-12-1
2006-1-31
2006-01-02
2006-12-05
2006-9-16 5:6:5
2006-9-16 23:59:59
2006-9-16 12:1:0
2006-9-16 0:0:0
2006-9-16 05:06:05
2006-9-16 15:15:15
2006-9-16 15:5:15
2006-9-16 0:0
不通过的:
2003-2-29 (非闰年)
等其他非法日期 .......

抱歉!评论已关闭.