//传入参数名,获取值(用于已知参数名的情况)
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = decodeURI(window.location.search.substr(1)).match(reg);
if (r != null){
return unescape(r[2]);
}
return '';
}
//获取当前url携带的所有参数集合(用于已知/未知参数名的情况)
function getAllParam() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
//获取非当前URL下面的已知参数 uri为传入的url
function getQueryStringForUrl(uri, name) {
uri = uri.split("?")[1];
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = uri.match(reg);
if (r != null){
return unescape(r[2]);
}
return null;
}
//vue项目里面路由携带参数/demo/:id/:name (/页面路径/参数id的值/参数name的值)
router.beforeEach((to, from, next) => {
console.log(to.path) //打印结果:/demo/12/lili
let pathArr = to.path.split('/');
pathArr.splice(0,2)
console.log(pathArr ) //打印结果:['12','lili']得到参数值集合
})
基本上常用到的就都在这里了