Regex特定日期格式
本文关键字:格式 日期 Regex | 更新日期: 2023-09-27 18:15:57
我想知道是否有人可以为我指出一个正则表达式代码验证:####/##/##
示例:1990/05/25
第二个数字0
只能是0
或1
,第二个数字2
只能是0
、1
、2
或3
。除此之外,这个集合中的所有其他数字都允许(0-9)。
代码应该验证总共只有9或10个字符,包括斜杠。
如果您只想验证这种格式,您可以使用像…
^'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