函数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的实现代码。
2 回答
李晓健
TA贡献1036条经验 获得超461个赞
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; }
可以试一下
李晓健
TA贡献1036条经验 获得超461个赞
这个可用用字符串的split方法,第一次根据&符号来拆分,就可以得到一个数据
var arr = "name= tom &age=12&gender&".split('&') //就可以得到以下 //['name= tom','age=12','gender'] //然后循环一次,再根据等号拆分一次,拆分后的就有两个值,第一个就是key,第二值就是val 。也可能会得到一个值,就比如最后一个 gender 然后有这些值就可拼成一个对象了。 //当然如果你的正则表达式很好的话,可以直接用正则表达式拆出来
添加回答
举报
0/150
提交
取消