RegEx dd / MM / yyyy也接受dd / MM / yy

时间:2014-05-22 12:35:21

标签: regex

我有这个正则表达式,只能接受格式为dd / MM / yyyy的日期,但它也接受dd / MM / yy形式的日期。我在这里的帖子中找到了这个表达,他们说这也是闰年,几个月不同的日子,......

我需要更改哪些内容才能正常工作?

^(?:(?:31(\/)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$

有人可以帮忙吗?

亲切的问候

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

(^(((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)$)

测试here