我正在使用 javascript 中的正则表达式验证日期。我正在使用的正则表达式是
/^(((((0?[1-9])|(1\d)|(2[0-8]))\/((0?[1-9])|(1[0-2])))|((31\/((0?[13578])|(1[02])))|((29|30)\/((0?[1,3-9])|(1[0-2])))))\/((20[0-9][0-9])|(19[0-9][0-9])))|((29\/02\/(19|20)(([02468][048])|([13579][26]))))$/
这会准确匹配日期,但即使我使用 $ 来标记字符串的结尾,它也会匹配诸如 1/1/2001ff 之类的值。但是,如果我给出像 ff1/1/2001 这样的值,它会使它无效。所以它正在考虑字符串的开头并忽略字符串部分的结尾。
有谁知道这其中的原因。