搜尋

首頁  >  問答  >  主體

javascript - 正規表示式 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('不是电话号码');
                }
            }
        }
黄舟黄舟2796 天前549

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-05-19 10:47:29

    http://blog.csdn.net/leolu007...

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-19 10:47:29

    /g是全域匹配的意思,一般需要使用正則表達式替換所有匹配處的時候才用這個參數.
    然而!
    你的正則加上/g也是可以正確匹配以1開頭的11位數字的,為什麼會false的原因我想應該是你的程式碼裡面多了一個等號..........

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

    使用控制台執行這行JS:

    回覆
    0
  • 取消回覆