JavaScript写一个方法把URL解析成对象

答案是什么?

粗略的写了一个
function parseQueryString(url) {
var json = {};
var arr = url.substr(url.indexOf('?') + 1).split('&');
arr.forEach(function(item) {
var tmp = item.split('=');
json[tmp[0]] = tmp[1];
})
return json;
}

测试程序如下:
var url = "http://witmax.cn/index.php?key0=0&key1=1&key2=2";
var json = parseQueryString(url);
console.log(json);

执行结果:
{ key0: '0', key1: '1', key2: '2' }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-07
我也写一个。。
var url = 'http//witmax.cn/index.php?key0=0&key1=1&key2=2'
var key = url.split('?')[1].split('&')
var u = {}
for (var i = 0; i < key.length; i++) {
var urls = key[i].split('=')
var f = urls[0]
u[f] = urls[1]
}
console.log(u) // object{key0:'0', key1:'1', key2:'2'}
第2个回答  2014-08-11
function parseQueryString(url){
var obj={},
queryStr=url.substr(url.lastIndexOf('?')+1,url.length)
arr=queryStr.split('&');
for(var i=0,len=arr.length;i<len;i++){
var tmp=arr[i].split('=');
obj[tmp[0]]=tmp[1];
}
return obj;
}
//测试代码
console.log(parseQueryString("http://localhost?a=1&b=10"));
相似回答