场景:获取location地址栏的信息,
- 指定参数名称,返回该参数的值 或者 空字符串
- 不指定参数名称,返回全部的参数对象 或者 {}
var url ='https://xxxx.com?a=json&b=vue&c=444&d=55555';
/**
*
* @param {*} sUrl 传入需要解析的url
* @param {*} skey 想取的key值,如果没有的话可以不传
* @returns
*/
function getJson(sUrl,sKey){
var rusult ={};
var Urlh =sUrl.split('?')[1] //['https://xxxx.com','a=json&b=vue&c=444&d=55555']
var reg = /([^?&=]+)=([^?&=]*)/g; //正则
var res= Urlh.match(reg) // [ 'a=json', 'b=vue', 'c=444', 'd=55555' ]
res.forEach(function(value,index,array){
var tempArr =value.split('=');
var key = tempArr[0];
rusult[key] = tempArr[1]
});
return arguments.length === 1 ? rusult : rusult[sKey] || '';
};
console.log("getJson(url)", getJson(url,'a')) // json
希望能帮助到您,点个赞啦,我的老北鼻