1.最基本的方式
* **使用范例**:
*
* @example
* var getParameter=new getparameter();
* var fromId=getParameter.from;
*/
function Getparameter(key){
var QueryString = {
data: {},
Initial: function() {
var aPairs,aTmp,a;
var queryString = location.search;
queryString = queryString.substr(1, queryString.length);
aPairs = queryString.split("&");
for (var i = 0; i < aPairs.length; i++) {
aTmp = aPairs[i].split("=");
this.data[aTmp[0]] = aTmp[1];
}
},
GetValue: function(key) {
return QueryString.data[key];
}
};
QueryString.Initial();
return QueryString.data
}
2.优化第一种繁琐方法
window.func= { //获取url参数 getUrlParam : function(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象 var r = window.location.search.substr(1).match(reg); //匹配目标参数 if (r != null) { return r[2]; } else { return null; //返回参数值 } } }
3.最简洁的方式
let q = {}; location.search.replace(/([^?&=]+)=([^&]+)/g, (_, k, v) => q[k] = v); console.log(q);
以上三种常用获取URL链接参数方法