久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      看到一個(gè)JS正則的題

      貼出來(lái)與大家共勉。

      先看一段代碼,
      <script>
      var objReg = /^[a-zA-Z]{1}(:){1}$/gi;
      alert(objReg.test(“a:”));//返回true
      alert(objReg.test(“a:”));//返回false
      </script>

      為什么第二個(gè)test會(huì)返回false?是不是覺(jué)得奇怪。
      原因我解答如下:
      test實(shí)際上與exec方法的執(zhí)行方法是一致的,只是返回值不一樣。test返回的是true or false(如果exec返回的不是null),exec返回的是pattern(匹配)。
      而exec的執(zhí)行過(guò)程為:帶有g(shù)參數(shù)時(shí),下次匹配時(shí),自動(dòng)會(huì)跳到lastIndex后的位置,也就是這里的第2個(gè)位置。而這個(gè)位置與pattern顯然不匹配。因此返回false。

      解決方法:
      (1)
      可以不使用g(全局參數(shù))也就是這樣-
      <script>
      var objReg = /^[a-zA-Z]{1}(:){1}$/i;
      alert(objReg.test(“a:”));//返回true
      alert(objReg.test(“a:”));//返回true
      </script>

      (2)
      可以用lastIndex=0來(lái)還原-
      var objReg = /^[a-zA-Z]{1}(:){1}$/gi;
      alert(objReg.test(“a:”));//返回true
      objReg.lastIndex=0;
      alert(objReg.test(“a:”));//返回true

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)