js獲取url參數值的幾種方式

示例URL:https://editor.csdn.net/?a=1&b=2&c=3

方法一:採用正則表達式獲取地址欄參數 (代碼簡潔,重點正則)

function getQueryString(name) {
    let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    let r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    };
    return null;
 }
 console.log(getQueryString('a));// 1
 console.log(getQueryString('b));// 2

方法二:split拆分法 (代碼較複雜,較易理解)

function getRequest() {
   const url = location.search; //獲取url中"?"符後的字串
   let theRequest = new Object();
   if (url.indexOf("?") != -1) {
      let str = url.substr(1);
      let strs = str.split("&");
      for(let i = 0; i < strs.length; i ++) {
      	 let strsArr = strs[i].split("=");
         theRequest[strsArr[0]] = unescape(strsArr[1]);
      }
   }
   return theRequest;
}
console.log(getRequest());
/*
{a: "1", b: "2", c: "3"}
*/

方法三:split拆分法(易於理解,代碼中規)

function getQueryString(name){
    let query = window.location.search.substring(1);
    let vars = query.split("&");
    for (let i = 0; i < vars.length; i++) {
        let pair = vars[i].split("=");
        if(pair[0] == name)
        	{return pair[1];}
   }
   return(false);
}
 console.log(getQueryString('a));// 1
 console.log(getQueryString('b));// 2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章