preg_匹配到Javascript函数

preg_匹配到Javascript函数,javascript,node.js,match,Javascript,Node.js,Match,我试图将这个Php条件语句转换为Javascript语句 这就是我现在拥有的,目前还没有工作 $value = 077283331111333; if( ! preg_match(/^[0-9]{1,20}+$/, $value)) { echo $value . " is not a number that has between 1,20 digits"; } 这就是我得到的错误 对象/^[1,0]{1}+$/^[0-9]{1,20}+$/没有方法“test” 有什么想法吗

我试图将这个Php条件语句转换为Javascript语句

这就是我现在拥有的,目前还没有工作

$value = 077283331111333;    
if( ! preg_match(/^[0-9]{1,20}+$/, $value))
{
    echo $value . " is not a number that has between 1,20 digits";
}
这就是我得到的错误

对象/^[1,0]{1}+$/^[0-9]{1,20}+$/没有方法“test”


有什么想法吗?另外,在node.js环境中也可以这样做。

尝试从正则表达式变量中删除引号。

尝试从正则表达式变量中删除引号。

该方法未定义,因为它不是正则表达式,而是字符串

您需要删除引号才能在javascript中创建RegExp对象:

var value = 077283331111333;
var regex = '/^[0-9]{1,20}+$/';
var match = regex.test(value);
if ( ! match) {
    console.log(value + 'is not a number that has between 1,20 digits');
}
无论如何,我不认为这是一个有效的正则表达式,因为你可能想检查那里的双斜杠拼写错误

检查1到20位数字的正则表达式如下:

var regex = /^[1,0]{1}+$//^[0-9]{1,20}+$/;

该方法未定义,因为它不是正则表达式,而是字符串

您需要删除引号才能在javascript中创建RegExp对象:

var value = 077283331111333;
var regex = '/^[0-9]{1,20}+$/';
var match = regex.test(value);
if ( ! match) {
    console.log(value + 'is not a number that has between 1,20 digits');
}
无论如何,我不认为这是一个有效的正则表达式,因为你可能想检查那里的双斜杠拼写错误

检查1到20位数字的正则表达式如下:

var regex = /^[1,0]{1}+$//^[0-9]{1,20}+$/;

尝试从正则表达式中删除单引号

var regex = /^\d{1,20}$/

尝试从正则表达式中删除单引号

var regex = /^\d{1,20}$/

这是一个奇怪的regexp。。。你为什么不使用
/^\d{1,20}$/.testvalue

这是一个奇数regexp。。。你为什么不使用 /^\d{1,20}$/.testvalue