这是我的代码
var _phonenumber = '09000000000';
if _phonenumber.match(/A0[5789]0d{8}z/)
console.log('valid');
else
console.log('invalid)';
但是如果我输入正确的电话,它仍然打印无效的09000000000
match(( 方法在将字符串与正则表达式匹配时检索匹配项。
如果字符串与表达式匹配,它将返回一个 Array,其中包含整个匹配字符串作为第一个元素,后跟括号中捕获的任何结果。如果没有匹配项,则返回 null。
在您的情况下,您缺少匹配周围的括号。
var _phonenumber = '09000000000';
if(_phonenumber.match(/A0[5789]0d{8}z/))
console.log('valid');
else
console.log('invalid');
console.log(_phonenumber.match(/A0[5789]0d{8}z/));
test(( 方法执行搜索,以查找正则表达式和指定字符串之间的匹配项。返回 true 或 false。
使用test()
将更适合您的用例。
var _phonenumber = '09000000000';
if(/A0[5789]0d{8}z/g.test(_phonenumber))
console.log('valid');
else
console.log('invalid');