正则表达式电话号码无效

时间:2018-03-07 03:31:45

标签: jquery regex format

这是我的代码

var _phonenumber = '09000000000';
if _phonenumber.match(/\A0[5789]0\d{8}\z/)
  console.log('valid');
else
  console.log('invalid)';

但如果我输入了正确的手机,它仍会打印无效的09000000000

1 个答案:

答案 0 :(得分:1)

  

match()方法在将字符串与正则表达式匹配时检索匹配。

如果字符串与表达式匹配,它将返回一个包含整个匹配字符串作为第一个元素的Array,后跟括号中捕获的任何结果。如果没有匹配项,则返回null。

在你的情况下,你错过了匹配的括号。



var _phonenumber = '09000000000';
if(_phonenumber.match(/\A0[5789]0\d{8}\z/))
  console.log('valid');
else
  console.log('invalid');
  
console.log(_phonenumber.match(/\A0[5789]0\d{8}\z/));




  

test()方法执行搜索正则表达式和指定字符串之间的匹配。返回true或false。

使用test()会更好地适用于您的用例。



var _phonenumber = '09000000000';
if(/\A0[5789]0\d{8}\z/g.test(_phonenumber))
  console.log('valid');
else
  console.log('invalid');