我正在尝试验证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”时,它有效。
答案 0 :(得分:4)
正如奥利所说,[12-99]不符合你的想法。
具体来说,-
指的是一系列字符,而不是数字。所以[12-99]
匹配......
1
2-9
9
表达式20(1[2-9]|[2-9][0-9])
适用于2012-2099日期