天天看點

如何擷取位址欄中的參數

兩種方法擷取位址欄中傳遞的參數

第一種:字元串拆分法

window.location.href 或者 location.href 或者 window.location 獲得位址欄中的所有内容

decodeURI() 可以解碼位址欄中的資料 恢複中文資料

window.location.search 獲得位址欄中問号及問号之後的資料

//擷取位址欄裡(URL)傳遞的參數

function GetRequest(value) {  
    //url例子:www.bicycle.com?id="123456"&Name="bicycle";  
    var url = decodeURI(location.search); //?id="123456"&Name="bicycle";
    var object = {};
    if(url.indexOf("?") != -1)//url中存在問号,也就說有參數。  
    {   
      var str = url.substr(1);  //得到?後面的字元串
      var strs = str.split("&");  //将得到的參數分隔成數組[id="123456",Name="bicycle"];
      for(var i = 0; i < strs.length; i ++)  
        {   
        object[strs[i].split("=")[0]]=strs[i].split("=")[1]
      }
  }
    return object[value];  
}      

第二種:正則比對法

這種方法其實原理和上一種方法類似,都是從URL中提取,隻是提取的方法不同而已。

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