$value = 077283331111333;
if( ! preg_match(/^[0-9]{1,20}+$/, $value))
{
echo $value . " is not a number that has between 1,20 digits";
}
我正在尝试将此Php条件语句转换为Javascript语句。
这就是我所拥有的,目前无效。
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,0] {1} + $ // ^ [0-9] {1,20} + $ /没有方法'测试'
有什么想法吗?另外,这在node.js环境中。
答案 0 :(得分:3)
该方法未定义,因为它不是正则表达式而是字符串。
您需要删除引号才能在javascript中创建RegExp
对象:
var regex = /^[1,0]{1}+$//^[0-9]{1,20}+$/;
无论如何我认为这不是一个有效的正则表达式(因为双斜线)你可能想检查那里的拼写错误......
检查1到20位数字的正则表达式只是:
var regex = /^\d{1,20}$/
答案 1 :(得分:1)
尝试从regex变量中删除引号。
答案 2 :(得分:1)
尝试从正则表达式中删除单引号
var value = 077283331111333;
var regex = /^[1,0]{1}+$//^[0-9]{1,20}+$/;
var match = regex.test(value);
if ( ! match) {
console.log(value + 'is not a number that has between 1,20 digits');
}
答案 3 :(得分:1)
if ( /regex/.match( value ) ) {
//do stuff
}
答案 4 :(得分:0)
这是一个奇怪的正则表达式...为什么不使用
/^\d{1,20}$/.test(value)