Regex特定日期格式

本文关键字:格式 日期 Regex | 更新日期: 2023-09-27 18:15:57

我想知道是否有人可以为我指出一个正则表达式代码验证:####/##/##

示例:1990/05/25

第二个数字0只能是01,第二个数字2只能是0123。除此之外,这个集合中的所有其他数字都允许(0-9)。

代码应该验证总共只有9或10个字符,包括斜杠。

Regex特定日期格式

如果您只想验证这种格式,您可以使用像…

^'d{1,4}'/[01]?'d'/[0-3]'d$

我在这里的一些日期测试了一下。

这将匹配:

1990/01/01
2012/13/34
2013/1/39
9999/0/00

但拒绝:

23121/32/44
12/05/013
013/000/00

如果你也想拒绝无效的日期,比如2013/02/29,你可以查看这个线程

试试这个(在Jerry后面编辑)

[0-2][0-9]{3,3}/[0|1][0-9]/[0-3][0-9]

乱用{a,b}表示法来改变一般数字的长度,这意味着在前面表达式的a和b之间。在你的问题中,你不清楚你想要的数字灵活性在哪里。

。发送2013/5/29,请使用

 [0-2][0-9]{3,3}/[0|1]{0,1}[0-9]/[0-3][0-9]

对于所有的正则表达式,我发现这个网站是一个非常宝贵的资源。http://www.regular-expressions.info/reference.html

特别是这个页面应该得到你所需要的,并包含如何通过正则表达式验证日期输入格式(而不是值)的完整解释。

http://www.regular-expressions.info/dates.html

^(19|20)'d'd[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$

将匹配

yyyy-mm-dd