获取参数函数

方法一

function geturldata(name){
	//构造一个含有目标参数的正则表达式对象
	var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
	//匹配目标参数
	var r = window.location.search.substr(1).match(reg);
	//返回参数值
	if (r!=null) return unescape(r[2]);
	return null;
}

使用

let id = geturldata('id');	//获取地址栏的id参数

方法二

const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
const param1 = params.get('param1');	// 获取param1

获取地址所有参数

function UrlSearch() {
	var name, value;
	var str = location.href; //取得整个地址栏
	var num = str.indexOf("?")
	str = str.substr(num + 1); //取得所有参数 stringvar.substr(start [, length ]

	var arr = str.split("&"); //各个参数放到数组里
	for (var i = 0; i < arr.length; i++) {
		num = arr[i].indexOf("=");
		if (num > 0) {
			name = arr[i].substring(0, num);
			value = arr[i].substr(num + 1);
			this[name] = value;
		}
	}
}
var Request = new UrlSearch(); //实例化  Request所有参数对象集合
console.log(Request.id);