第一种方法:原生JS
var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2";
var str = url.split("?")[1];
var item = str.split("&");
var obj = {};
for(var i=0;i<item.length;i++){
var arr = item[i].split("=");
obj[arr[0]] = arr[1];
}
console.log(obj);//{key0: "0", key1: "1", key2: "2"}
第二种方法:正则表达式
function urlParse (url) {
let obj = {}
/*
* 正则匹配
* [?&]:匹配?或&其一
* [^?&]:非?或非&
* */
let reg = /[?&][^?&]+=[^?&]+/g;//["?key0=0","&key1=1","&key2=2"]
let arr = url.match(reg)
if (arr) {
arr.forEach((item) => {
let tempArr = item.substring(1).split('=')
obj[tempArr[0]] = tempArr[1];
})
}
return obj
}
console.log(urlParse(url));//{key0: "0", key1: "1", key2: "2"}