为什么这条正则全局匹配是错的?原码如下:var str='13662890478'; var reg=/^1[3|5|8]\d{9}/g; var result=reg.exec(str); if(reg.test(str)){ console.log('对') console.log(result[0]) }else{ console.log('错') console.log(result[0]) }
2 回答
阿晨1998
TA贡献2037条经验 获得超6个赞
/^1[3|5|8]\d{9}$/
; // 修正一下你的正则, 这样会可靠点 如果只是为了验证手机号格式
带g 的如果用了 exec
一个字符串做匹配,会有缓存问题,按你想要的效果,你可以在 reg.test(str)
之前 把 reg.lastIndex = 0
; 这个用上
添加回答
举报
0/150
提交
取消