URL参数解析方法

Posted

tags:

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

这几天遇到这样一个需求,需要在不同页面之前传递参数,一般我们都是通过URL来传递,如下

window.open(‘test.html?id=123&name=456‘)

然后在新窗口的时候我们再用window.location.search方法获取?后面的参数内容,但是拿到的内容是“?id=123&name=456”这样的形式,我们还需要进行一系列的字符串处理才能拿到我们需要的信息,这样就比较麻烦一些了,所以我们就基于这个需求封装一个工具方法来把参数后面的内容解析成一个对象字面量来供我们使用,代码如下

function urlParse(){
    var url = window.location.search;
        var obj = {};
        var reg = /[?&][^?&]+=[^?&]+/g;
        var arr = url.match(reg);

        if (arr) {
            arr.forEach(function (item) {
                var tempArr = item.substring(1).split(‘=‘);
                var key = decodeURIComponent(tempArr[0]);
                var val = decodeURIComponent(tempArr[1]);
                obj[key] = val;
            });
        }
        return obj;
}
urlParse() // return {id:123,name:456}
 

 这样只要在新窗口调用这个方法我们就能返回一个对象字面量的参数来供我们使用了。

以上是关于URL参数解析方法的主要内容,如果未能解决你的问题,请参考以下文章

python(urlparse)模板使用方法总结

Symfony2 将哈希片段参数附加到分页 URL

Python 的 urllib.parse 库解析 URL

URL 片段中的多个参数

封装一个方法:把URL参数解析为一个对象,来获取地址栏url里面的传递的参数。

URL参数解析方法