3

我正在尝试以 MM/DD/YYYY 的格式实现出生日期的正则表达式。我不知道如何强制用户为 MM 输入 01-12,为一天输入 01-31,为年份输入任何四位数字。我只是有一个 MM/DD/YYYY 的正则表达式,即 @"^\d{2}/\d{2}/\d{4}$"。任何建议将不胜感激。

谢谢

4

2 回答 2

3

正则表达式变得非常丑陋,因此最好使用合法的日期解析器。

也就是说,这应该有效,并返回 MM、DD 和 YYYY 匹配组。

((?:0[1-9])|(?:1[0-2]))\/((?:0[0-9])|(?:[1-2][0-9])|(?:3[0-1]))\/(\d{4})

推荐http://www.rubular.com或类似的测试/开发正则表达式。

于 2013-09-30T22:50:06.183 回答
0

我最近在我的一个项目中使用了这个正则表达式

^(0?[1-9]|1[0-2])/([0-2]?[1-9]|[1-3][01])/\d{4}$

这显然适用于dd/MM/yyyy格式中的所有日期,但在不需要时您可以不指定“0”。所以你可以写 '01/01/2000' 和 '1/1/2000'。

于 2019-06-01T17:22:50.557 回答