getQueryVariable(name) {
var reg = new RegExp("(^|/?|&)" + name + "=([^&]*)(&|$)", "i");
var r = decodeURIComponent(location.href).substr(1).match(reg);
if (r != null) return r[2];
return null;
},
调用如上方法:
//例如 路径:https://www.baidu.com/?name=111&code=222
this.getQueryVariable('code').split('#')[0] //返回 222
或者
getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) { return pair[1]; }
}
return (false);
};
//例如 路径:https://www.baidu.com/?name=111&code=222
getQueryVariable("code") //返回 222
或者
这个比较有用,尤其是在处理字符串获取时很有用
searchParams 只读:URLSearchParams对象,可用于访问search中找到的各个查询参数。
let url = new URL("https://some.site/?id=123");
console.log(url.searchParams.get("id")); // 123
或者直接获取当前浏览器的url(常用)
// https://some.site/?id=123&id=456
const parsedUrl = new URL(window.location.href);
console.log(parsedUrl.searchParams.get("id")); // "123" get方法只会返回相同键值的第一个参数
console.log(parsedUrl.searchParams.getAll("id")) // ['123','456'] getAll方法会返回所用的相同键名的值,以数组的形式