1. 程式人生 > >js獲取url地址的參數的方法

js獲取url地址的參數的方法

win obj 數值 pre 返回結果 test 字符 code uri

js獲取url參數值

今天說一下如何獲取url參數值。

思路

  • 通過locationsearch就可以獲取到url中問號後面的值。
  • 字符串過濾到問號
  • 通過split方法分割參數集合
  • 循環賦值
  • 匹配對應的參數值
  • 返回值

封裝的方法

function getUrlParams(name) { // 不傳name返回所有值,否則返回對應值
    var url = window.location.search;
    if (url.indexOf(‘?‘) == 1) { return false; }
    url = url.substr(1);
    url = url.split(‘&‘);
    var name = name || ‘‘;
    var nameres;
    // 獲取全部參數及其值
    for(var i=0;i<url.length;i++) {
        var info = url[i].split(‘=‘);
        var obj = {};
        obj[info[0]] = decodeURI(info[1]);
        url[i] = obj;
    }
    // 如果傳入一個參數名稱,就匹配其值
    if (name) {
        for(var i=0;i<url.length;i++) {
            for (const key in url[i]) {
                if (key == name) {
                    nameres = url[i][key];
                }
            }
        }
    } else {
        nameres = url;
    }
    // 返回結果
    return nameres;
}

實例

例如:

const url = ‘http://www.abc.com/test.php?id=1&from=index‘;
var res = getUrlParams();
var res1 = getUrlParams(‘id‘);
console.log(res); //  [{id: "1"}, {from: "index"}]
console.log(res1); // 1

寫在最後

這是一個比較簡單的方法。

js獲取url地址的參數的方法