正则表达式 g的问题

加g的时候是第一次点击按钮,返回true,再点击按钮,返回false,是为什么?
不加 g的时候返回的结果是正确的。

        window.onload=function(){
            var aInput=document.getElementsByTagName('input');
            var re = /^1\d{10}$/;
            //var re== /^1\d{10}$/g;
            aInput[1].onclick=function(){
                if(re.test(aInput[0].value)){
                    console.log('是电话号码');
                }else{
                    console.log('不是电话号码');
                }
            }
        }
阅读 2.2k
2 个回答

/g是全局匹配的意思,一般需要使用正则表达式替换所有匹配处的时候才用这个参数.
然而!
你的正则加上/g也是可以正确匹配以1开头的11位数字的,为什么会false的原因我想应该是你的代码里面多了一个等号..........

//var re== /^1\d{10}$/g;

使用控制台执行这行JS:
图片描述

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