javascript的正则问题

写了一个简短的正则用作验证是否为手机号

var rg = new RegExp(/^[1][34578]\d{9}$/g);
if(rg.test("15988888888")){
    console.log(1);
}else{
    console.log(2);
}

上面的代码直接在网页中运行,控制台返回2。
而无论是在线测试,还是在控制台直接将代码输入,返回是1。
为什么会出现这种情况(如下图)
图片描述
clipboard.png

阅读 2.4k
1 个回答
var rg = /^[1][3|4|5|7|8]\d{9}$/g;
if(rg.test("15988888888")){
    console.log(1);
}else{
    console.log(2);
}

或许你试试这样写

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题