我正在尝试使用 javascript 正则表达式来验证出生日期文本框。这是我的代码
var patt=/[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}/;
alert(patt.test("1985/08/03"));
错误说:SyntaxEror: Unexpected token {
我不明白为什么这种模式在 asp.net RegularExpressionValidator Controller 中运行良好。 非常感谢
最佳答案
您需要对 /
字符进行转义,否则解释器会看到第一个并认为这是正则表达式的结尾。
您还应该在您的正则表达式中放置 anchor ,以确保它匹配整个 字符串,而不匹配恰好包含该模式的任何字符串。
为简洁起见,您也可以使用 \d
代替 [0-9]
:
var patt = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
注意:您的示例不起作用 - 您已将年份放在首位,但 RE 期望它是最后一个。
关于javascript - 正则表达式模式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10784936/