我正在尝试验证一个变量是否包含 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/