首页 > 试题广场 >

请编写一个JavaScript函数 parseQuerySt

[问答题]
请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如:
var url = “http://www.taobao.com/index.php?key0=0&key1=1&key2=2.....”
var obj = parseQueryString(url);
alert(obj.key0)  // 输出0
var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2.............";
var obj = parseQueryString(url);
      
function parseQueryString(argu){
  var str = argu.split('?')[1];
  var result = {};
  var temp = str.split('&');
  for(var i=0; i<temp.length; i++)
  {
     var temp2 = temp[i].split('=');
     result[temp2[0]] = temp2[1];
  }
  return result;
}      

编辑于 2016-05-08 20:34:54 回复(2)
    // 将参数对象化---键值对
    const delayUrl = url => {
      const paramsArray = url.match(/(?<=[&?])[\w-]+=[\w-]+/g)
      const result = {}
      
      paramsArray.forEach(element => {
        const [key, value] = element.split('=')
        result[key] = value
      });

      return result
    }

    console.log(delayUrl('http://www.taobao.com/index.php?key0=0&key1=1&key2=2.....'))

发表于 2019-11-07 16:18:09 回复(0)
function parseQueryString(url){
	var obj ={};
	var url = url.substring(url.indexOf("?")+1);
	var urlArr = url.split("&");
	var key,value,index;
	for(var i=0;i<urlArr.length;i++){
		index = urlArr[i].indexOf("=");
		key = urlArr[i].substring(0,index);
		value = urlArr[i].substring(index+1);
		obj[key] = value;
	}
	return obj;
}

发表于 2017-08-19 15:36:36 回复(0)
function parseQueryString(url){
var paramStr=url.split('?')[1].split('#')[0];
var paramArr=paramStr.split('&');
var result=new Object();
for(var i=0,len=paramArr.length;i<len;i++){
var param=paramArr[i].split('=');
result[param[0]]=param[1];
}
return result;
}
编辑于 2016-08-06 19:50:39 回复(0)
function parseQueryString(url){
var a=document.createElement("a");
a.href=url;
//console.log(a.host+","+a.hostname+","+a.search+",");
var searches=a.search.slice(1).split("&");
console.log(searches);//["key0=0", "key1=1", "key2=2"]
var res={};
searches.forEach(function(elem){
var ss=elem.split("=");
if(ss.length===2){
res[ss[0]]=ss[1];
}
});
return res;
}
发表于 2016-03-18 17:34:02 回复(0)
洁头像
    var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2...";
    var obj = parseQueryString(url);
    alert(obj.key0);  // 输出0
    function parseQueryString(str){
        var obj={};
        /*var reg=/^(?:http:\/\/)(?:[\w.\/]+)\?((\w+=\w+)&?)+\.*$]/;*/
       /* var reg=/\w+:\/\/[\w.\/?]+\?(\w+=\w+&?)+/g;*/
        var reg=/\??(\w+)=(\w+)&?/g;
        var result;
        while((result = reg.exec(str)) != null){
            obj[result[1]]=result[2];
        }
        return obj;
    }

发表于 2015-08-21 15:45:24 回复(1)
(function(s){var o = {};"".substr.call(s,s.lastIndexOf("?")+1,s.length).split("&").forEach(function(d){var t = d.split("=");o[t[0]]=t[1]});return o;
})("http://www.taobao.com/index.php?key0=0&key1=1&key2=2").key0;
发表于 2014-12-11 13:58:38 回复(0)
function parseQueryString(url) {
    let obj = {};
    url.slice(url.indexOf("?") + 1).split('&').forEach(item => obj[item.split("=")[0]] = item.split("=")[1]);
    console.log(obj);
}
发表于 2023-03-09 09:38:14 回复(0)
function parseQueryString(url) {
    let q = url.substring(url.indexOf('?') + 1).match(/[\w-]+=[\w-]*/g);
    let result = {};
    q.forEach(function (item) {
        let i = item.split('=');
        result[i[0]] = i[1];
    });
    return result;
}

发表于 2019-03-22 04:53:20 回复(0)
var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2.............";
function parseQueryString (str) {
    var str = str.split('?')[1];
    var resArr = str.split('&');
    var res = {};
    for (var i = 0; i < resArr.length; i++) {
        name = resArr[i].split('=')[0];
        val = resArr[i].split('=')[1];
        res[name] = val;
    }
    return res;
}

var obj = parseQueryString(url);
console.log(obj.key0)  // 输出0

编辑于 2017-07-28 11:03:05 回复(0)
function parseQueryString(str){
    var obj = {};
    var arr = str.split('&');
    arr[0] = arr[0].split('?')[1];
    var len = arr.length;
  while(len--)
    {
        var result =  arr[len].split('=');
        obj[result[0]] = obj[result[1]];
    }
   return obj;
}
发表于 2016-08-18 20:54:19 回复(0)
function parseQueryString(url){ var obj={};  url.replace(/\??(\w+)=(\w+)&?/g,function($0,$1,$2){ if(obj[$1]==undefined)
            obj[$1]=$2;  else  obj[$1]=[].concat(obj[$1],$2);   });  return obj; }
编辑于 2015-08-17 17:51:07 回复(0)
function parseQueryString(url){
var obj={};
var arr=new Array();    
var str=url.parse("?")[1].parse("&");
for(var i in str){
    var temp=str[i].split("=")
    arr[temp[0]]=temp[1];
}
for(var j in arr){
    obj[j]=arr[j];
}      
return obj;  
}

发表于 2015-08-14 11:07:16 回复(0)
function parseQueryString(url){
    var obj = {};
    var start = url.indexOf("?")+1;
    var str = url.substr(start);
    var arr = str.split("&");
    for(var i = 0 ;i < arr.length;i++){
          var arr2 = arr[i].split("=");
           obj[arr2[0]] = arr2[1];
    }
return obj;
}
var obj = parseQueryString("http://www.taobao.com/index.php?key0=0&key1=1&key2=2");
alert(obj.key0);

发表于 2015-02-07 00:14:56 回复(1)
晕头像
function parseQueryString(url){
			var temp = {};
			var arr = url.split('?');
			temp.target = arr[0];
			if(arr.length == 1) return;
			var arr2 = arr[1].split('&');
			for(var i=0;i<arr2.length;i++){
				var arr3 = arr2[i].split('=');
				temp[arr3[0]] = arr3[1];
			}
			return temp;
		}
alert(parseQueryString(url)['key'])
发表于 2014-12-26 02:48:22 回复(0)
var url = http://www.taobao.com/index.php?key0=0&key1=1&key2=2.....”
function parseQueryString(url){
    var str=url.split('?');
    var item=str.split('&');
    var result={};
    for(var i=0;i&lt;items.length;i++){
        arr=items.split('=');
        result[arr[0]]=arr[1];
    }
    return result;
}
var obj=parseQueryString(url);
console.log(obj);

发表于 2014-12-22 22:00:47 回复(0)
function parseQueryString(url){
    var hashStr = url.replace(/^http([^\?]*)?\?/,"");
    var hashArr = hashStr.split("&");
    var ret = {};
    for(var i in hashArr){
       ret[hashArr[i].split("=")[0]] = hashArr[i].split("=")[1]
    }

    return ret;
}

发表于 2014-12-11 22:21:45 回复(0)
var parseQueryString function(url){
    var params=url.split("?");
    var objs=params[1].split("&");
var obj={};
        for(var i=0;i<objs.length;i++){
          var a=objs[i].split("=");
        obj[a[0]]=a[1];
        }
return obj;
}
发表于 2014-12-08 13:16:38 回复(0)
function parseQueryString(url){
    var arr =url.splice("?")[1].splice("&");
    var obj={};
    for(i=0;i<arr.length;i++){
        arr[i].splice("=");
        obj.arr[i][0]=obj. arr[i] [1];
    }
    return obj;
}
发表于 2014-12-02 10:53:14 回复(0)
function parseQueryString ( name ){
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");   var regexS = "[\\?&]"+name+"=([^&#]*)";   var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );   if( results == null )     return "";   else
    return results[1];
}
发表于 2014-11-12 16:43:02 回复(0)