js获取url地址的参数的方法

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

写在最后

这是一个比较简单的方法。

上一篇:ESB数据采集思路


下一篇:asp.Net获取脚本传过来的参数的方法汇总