javascript - 正则表达式模式错误

标签 javascript regex

我正在尝试使用 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/

相关文章:

css - CSS 图像 url 的正则表达式

javascript - 遍历文本节点和元素节点

javascript - 如何从 json 获取数组项,React

javascript - 如果没有 iphone 和 ipad,如何知道任何 javascript/jquery 效果/插件都可以在这些设备上工作?

javascript - 给定一个值为数组的对象,返回对 [key, array.length] 的最有效方法是什么?

Javascript 正则表达式模式捕获 - 所有可能的组合

regex - Vim 正则表达式 : Add character before the last word of each line

python - 从没有指导性 HTML 结构的具有挑战性的网站中抓取信息

javascript - Angular 4 无法在我的组件中运行 WaveSurfer

javascript - 如何使用javascript中的正则表达式从颜色代码中删除 "#"?