正则表达式电话号码不起作用



这是我的代码

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');

最新更新