日,月文本输入:月份部分的智能正则表达式?

时间:2012-11-08 10:50:39

标签: regex

我在UI上有一个日期条目控件。它会在键入数字时自动完成日期。

目前正在使用:

\d{1,2}(\.|\/|-)\d{1,2}

http://regexpal.com/上进行测试,看它是否有效。

基本上是1或2位数字,后跟一个./-和1或2位数字。例如01 / 9,1 / 2,1 / 1,将匹配

我正在做什么(而且不能!):

如果第二组数字(月份部分)为0或1,则需要另一个数字

如果第二组数字是2-9,则匹配

基本上就是这样,谢谢

布赖恩

1 个答案:

答案 0 :(得分:2)

数字范围在正则表达式中有点烦人,并且应该在格式验证时在单独的步骤中完成。但这是正则表达式:

\d{1,2}[/.-](0?[2-9]|1[0-2]|01|1[/.-])

这应符合所有要求(包括评论中的要求)。可能的月份:

2, 3, ..., 9
01, 02, 03, ..., 09
10, 11, 12
1/, 1., 1-