//获取url参数,并解码。
var txt = decodeURIComponent(window.location.search);
^匹配字符串开头,&就是&字符 (^|&)匹配字符串开头或者&字符,
”[]”代表的是一个字符集,”^”在字符集中才是反向字符集,不在字符集表示限定开头。
“$”匹配输入字符串的结尾位置。
“|”指明两项之间的一个选择。
//字符串开头或者&符号开头,加上name变量的内容,再加上任意个不含&的字符,以&或字符串结尾
//那么下面的正则表达式匹配的内容就是:&name=
var reg = new RegExp("(^|&)" + name + “=([^&]*)(&|$)”);
//匹配url参数结果
var analyArr = txt.substr(1).match(reg);
function getQueryParameter(name){
var txt = decodeURIComponent(window.location.search);
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var analyArr = txt.substr(1).match(reg); //去掉?号,匹配
if(analyArr!=null)
{
return analyArr[2];
}
else
{
return "解析失败!";
}
}
方案二
function getQuery(id){
let urlSearchParams = new URLSearchParams(window.location.search);
let params = Object.fromEntries(urlSearchParams.entries());
return params[id];
}