javascript获取url参数的值

Javascript 2019-12-04 阅读 562 评论 0

有时候需要将浏览器的地址,转化为json对象,方便操作,请求的url 可以从 window.location.href 获取,有些url后面带有 # 符号,需要过滤,请求参数一般是从问号 ? 开始,键值对用 = 连在一起,多个键值对用 & 拼接,下面是使用 replace 方法,匹配键值对,在回调方法将其转化为 json。

function getUrlVars() {
	var vars = {};
	var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&#]*)/gi,
		function(m,key,value) {
			vars[key] = value;
		}
	);
	return vars;
}

比如:

// 比如url为:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=js#t=23

var fType = getUrlVars();
console.log(fType);

// 输出结果为:
{
    f: "8"
    ie: "utf-8"
    rsv_bp: "1"
    rsv_idx: "1"
    tn: "baidu"
    wd: "js"
}
最后更新 2020-06-06