出生日期的正则表达式

时间:2013-09-30 22:40:28

标签: regex

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

由于

2 个答案:

答案 0 :(得分: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或类似用于测试/开发正则表达式。

答案 1 :(得分: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”。