猿问

javascript有道题不会,求大神帮忙给点思路。用regexp怎么去匹配,然后替换

函数parseQuery用于解析url查询参数。

语法如下:

var obj = parseQuery(query)

query是被解析的查询参数,函数返回解析后的对象。

使用范例如下:

var jerry = parseQuery("name=jerry&age=1");

jerry; 返回值:{name: " jerry ", age: "1"}

var tom = parseQuery("name= tom &age=12&gender&");

tom; 返回值:{name: "tom", age: "12", gender: ""}

请写出函数parseQuery的实现代码。


505380967
浏览 1902回答 2
2回答

李晓健

function parseQuery(str) {      var theRequest = {};      var strs = str.split("&");      for(var i = 0; i < strs.length; i ++) {          theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);      }      return theRequest;  }可以试一下 

李晓健

这个可用用字符串的split方法,第一次根据&符号来拆分,就可以得到一个数据var arr = "name= tom &age=12&gender&".split('&') //就可以得到以下 //['name= tom','age=12','gender'] //然后循环一次,再根据等号拆分一次,拆分后的就有两个值,第一个就是key,第二值就是val 。也可能会得到一个值,就比如最后一个 gender 然后有这些值就可拼成一个对象了。 //当然如果你的正则表达式很好的话,可以直接用正则表达式拆出来
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答