ddmmyyyy日期的正则表达式,包括闰年的验证

时间:2014-10-14 08:24:48

标签: regex angularjs validation

我们如何使用正则表达式检查ddmmyyyy格式的日期(包括闰年验证)?什么是正则表达式??

2 个答案:

答案 0 :(得分:12)

老兄,你问过我已经工作了几个星期的问题。我邀请那些评论的人给出一个打破这个的日期。现在请注意,这可以用于 1000-9999 Proleptic Gregorian ,并假设我们不会改变闰年的工作方式直到9999年; )

^(?:(?:(?:0[1-9]|1\d|2[0-8])(?:0[1-9]|1[0-2])|(?:29|30)(?:0[13-9]|1[0-2])|31(?:0[13578]|1[02]))[1-9]\d{3}|2902(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00))$

Regular expression visualization

Debuggex Demo

答案 1 :(得分:0)

dd/MM/yyyy的正则表达式,即使是闰年:

pattern="(^(((0[1-9]|[12][0-8])[\/](0[1-9]|1[012]))|((29|30|31)[\/](0[13578]|1[02]))|((29|30)[\/](0[4,6,9]|11)))[\/](19|[2-9][0-9])\d\d$)|(^29[\/]02[\/](19|[2-9][0-9])(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96)$)"

或简单

pattern= "^(0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\\d\\d)$"