将url的查询参数解析成字典对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将url的查询参数解析成字典对象相关的知识,希望对你有一定的参考价值。

1,

这个题目不约而同的出现在了多家公司的面试题中,当然也是因为太过于典型,解决方案无非就是拆字符或者用正则匹配来解决,我个人强烈建议用正则匹配,因为url允许用户随意输入,如果用拆字符的方式,有任何一处没有考虑到容错,就会导致整个js都报错。而正则就没有这个问题,他只匹配出正确的配对,非法的全部过滤掉,简单,方便。

实现代码:

function getQueryObject(url) {
    url = url == null ? window.location.href : url;
    var search = url.substring(url.lastIndexOf("?") + 1);
    var obj = {};
    var reg = /([^?&=]+)=([^?&=]*)/g;
    search.replace(reg, function (rs, $1, $2) {
        var name = decodeURIComponent($1);
        var val = decodeURIComponent($2);                
        val = String(val);
        obj[name] = val;
        return rs;
    });
    return obj;
}

getQueryObject("http://www.cnblogs.com/leee/p/4456840.html?name=1&dd=ddd**")
Object {name: "1", dd: "ddd**"}

  

以上是关于将url的查询参数解析成字典对象的主要内容,如果未能解决你的问题,请参考以下文章

将url的查询参数解析成字典对象

将url的查询参数解析成字典对象

python用urllib将url参数解析成字典

Python 的 urllib.parse 库解析 URL

IOS--JSON数据解析成字典

写一个将当前页面 URL 中的 get 参数解析成一个对象的方法。