将常规的 URL 字符串的参数解析为对象的形式,如下示例所示
let httpUrlStr = 'https://coder.itclan.cn?name=itclanCoder&study=css';
解析后结果如下:
{ "name": "itclanCoder", "study": "css" }
方法1 :split分割
const parseQueryString = url=>{
var json = {};
var arr = url.substr(url.indexOf('?') + 1).split('&');
arr.forEach(item=>{
var tmp = item.split('=');
json[tmp[0]] = tmp[1];
});
return json;
}
方法2:正则表达式
const getURLParameters = url =>
url.match(/([^?=&]+)(=([^&]*))/g)
.reduce((a, v) => (a[v.slice(0, v.indexOf('='))] = v.slice(v.indexOf('=') + 1), a), {}
);