RegExp("(^|&)"+ name +"=([^&]*)(&|$)")什么意思?


function getUrlParam(name){ 
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); 
var r = window.location.search.substr(1).match(reg); 
if (r!=null) return unescape(r[2]); return null; 
}

 

這個方法是獲得頁面url的某個url參數的方法

var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");

這個正則是尋找&+url參數名字=值+&
&可以不存在。
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;

這里是開始匹配,找到了返回對應url值,沒找到返回null。

match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。

該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

 

 

舉個列子說明

          輸出hello world

<script type="text/javascript">

var str="Hello world!"
document.write(str.match("world") + "<br />")
document.write(str.match("World") + "<br />")
document.write(str.match("worlld") + "<br />")
document.write(str.match("world!"))

</script>

輸出結果 : world null null world

          var myurl=GetQueryString("leftId");
          var myurls=GetQueryString("leftIds");
          if(myurl !=null && myurl.toString().length>1)
         {
          $("#"+myurl).addClass("active");       //myurl為 left_yhqx_id路徑
          }else{
          $("#left_sy_id").addClass("active");

         }
         if(myurls !=null && myurls.toString().length>1)
        {
         $("#"+myurls).addClass("active");    //myurls 為zngl
        }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM