我正在尝试验证 mm-dd-(2012~2099) 日期格式。
我有以下正则表达式。
^(0[1-9]|1[0-2])-(0[1-9]|[10-31])-(20[12-99])$
当我运行以下代码时,我得到错误。这个正则表达式有什么问题?
var reg = new RegExp("^(0[1-9]|1[0-2])-(0[1-9]|[10-31])-(20[12-99])$")
reg.test("05-33-2012")**
当我取出年份部分,然后测试“05-33”时,它起作用了。
最佳答案
正如奥利所说,[12-99] 并没有做你认为它会做的事情。
具体来说,-
指的是一系列字符,而不是数字。所以 [12-99]
匹配...
1
2-9
9
表达式 20(1[2-9]|[2-9][0-9])
适用于日期 2012-2099
关于regex - 这个 (mm-dd-yyyy) 正则表达式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11125623/