jQuery 提取 URL 中的参数

本代码片段将介绍怎样快速提取浏览器 URL 地址中的 GET 参数。

jQuery 解析 url 参数代码如下:

(function($) {
    var re = /([^&=]+)=?([^&]*)/g,
        decodeRE = /\+/g,
        decode = function (str) {
            return decodeURIComponent(str.replace(decodeRE, " "));
        };

    $.parseParams = function(query) {
        var params = {}, e;
        while (e = re.exec(query)) {
            params[decode(e[1])] = decode(e[2]);
        }
        return params;
    };
})(jQuery);

使用方法:

// 模拟的 url 地址
var url = 'https://www.google.com/search?dcr=0&ei=5C&q=param';
// 解析问号后的 url 参数
var param = $.parseParams(url.split('?')[1] || '');
// 输出:{dcr: "0", ei: "5C", q: "param"}
console.log(param);

上面代码片段直接将解析 url 参数的方法封装成 jQuery 的一个方法,还可以直接将上面方法封装成一个纯 JS 方法,返回一个对象。如下:

var paramObj = (function parseParams() {
    var re = /([^&=]+)=?([^&]*)/g,
        decodeRE = /\+/g,
        decode = function (str) {
            return decodeURIComponent(str.replace(decodeRE, " "));
        };

    var params = {}, e;
    while (e = re.exec(window.location.href.split('?')[1] || '')) {
        params[decode(e[1])] = decode(e[2]);
    }
    return params;
})();
成熟不是人的心变老,而是泪在眼眶里打转还能微笑。
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号