js獲取url參數值 今天說一下如何獲取url參數值。 思路 + 通過 的`search`就可以獲取到url中問號後面的值。 + 字元串過濾到問號 + 通過split方法分割參數集合 + 迴圈賦值 + 匹配對應的參數值 + 返回值 封裝的方法 js function getUrlParams(nam ...
js獲取url參數值
今天說一下如何獲取url參數值。
思路
- 通過
location
的search
就可以獲取到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
寫在最後
這是一個比較簡單的方法。