Javascript 正则表达式 - 9 位数字

标签 javascript regex

我正在尝试验证一个变量是否包含 Javascript 中的 9 位数字。这应该是基本的,但由于某种原因,这失败了:

    var test = "123123123";
    var pattern = new RegExp("/\d{9}/");

    if(test.match(pattern))
    {
        //This code never executes
    }
    else
    {
        //This code is always executing
        alert('no match!'); 
    }

谁能看到我为什么没有比赛?

我还尝试使用以下方法对整数进行类型转换测试:
test = Number(test);

...但这不起作用,因为它必须是 String 才能支持 .match 方法。

最佳答案

您正在混合 two different regex constructors .选一个:

 var pattern = new RegExp("^\\d{9}$");
 // or
 var pattern = /^\d{9}$/;

注: 您可能想要添加开始和结束 anchor (如上)以确保整个字符串匹配。

关于Javascript 正则表达式 - 9 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11988445/

相关文章:

javascript - 表行的 ScrollIntoView 在 IE 8 中不起作用

javascript - JS 递归函数破解

java - java中如何对字符串进行模式化?

javascript - 从字符串中提取主题标签,直到出现特殊字符

PHP去除字符串中的特殊字符

javascript - Javascript 数组中偶数的总和?

javascript - 如何在 Angular2 中制作容器组件

javascript - Reactjs:更新特定行

java - 如何编写排除某个范围值的正则表达式?

regex - 在排序比较器中修改字符串