js获取url参数与值的多种方法

发布时间:2020-05-16编辑:脚本学堂
本文介绍了js获取url中参数与值的多种方法,js获取url参数值的实例代码,需要的朋友参考下。

例子,js获取url参数与值。
 

复制代码 代码示例:

function getParameterByName(name) 

  name = name.replace(/[[]/, "[").replace(/[]]/, "]"); 
  var regexS = "[?&]" + name + "=([^&#]*)"; 
  var regex = new RegExp(regexS); 
  var results = regex.exec(window.location.search); 
  if(results == null) 
    return ""; 
  else 
    return decodeURIComponent(results[1].replace(/+/g, " ")); 

var urlParams = {}; 
(function () { 
    var match, 
        pl     = /+/g,  // Regex for replacing addition symbol with a space 
        search = /([^&=]+)=?([^&]*)/g, 
        decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }, 
        query  = window.location.search.substring(1); 
 
    while (match = search.exec(query)) 
       urlParams[decode(match[1])] = decode(match[2]); 
})(); 

function getParameterByName(name) { 
    var match = RegExp('[?&]' + name + '=([^&]*)') 
                    .exec(window.location.search); 
    return match && decodeURIComponent(match[1].replace(/+/g, ' ')); 

var qs = (function(a) { 
    if (a == "") return {}; 
    var b = {}; 
    for (var i = 0; i < a.length; ++i) 
    { 
        var p=a[i].split('='); 
        if (p.length != 2) continue
        b[p[0]] = decodeURIComponent(p[1].replace(/+/g, " ")); 
    } 
    return b; 
})(window.location.search.substr(1).split('&')); 

二,google提供的方法
 

复制代码 代码示例:

function (b) { 
    var c = typeof b === "undefined"; 
    if (a !== h && c) return a; 
    for (var d = {}, b = b || k[B][vb], e = b[p]("?"), f = b[p]("#"), b = (f === -1 ? b[Ya](e + 1) : [b[Ya](e + 1, f - e - 1), "&", b[Ya](f + 1)][K](""))[z]("&"), e = i.dd ? ia : unescape, f = 0, g = b[w]; f < g; ++f) { 
        var l = b[f][p]("="); 
        if (l !== -1) { 
            var q = b[f][I](0, l), 
                l = b[f][I](l + 1), 
                l = l[Ca](/+/g, " "); 
            try { 
                d[q] = e(l) 
            } catch (A) {} 
        } 
    } 
    c && (a = d); 
    return d 

(function($) { 
    $.QueryString = (function(a) { 
        if (a == "") return {}; 
        var b = {}; 
        for (var i = 0; i < a.length; ++i) 
        { 
            var p=a[i].split('='); 
            if (p.length != 2) continue; 
            b[p[0]] = decodeURIComponent(p[1].replace(/+/g, " ")); 
        } 
        return b; 
    })(window.location.search.substr(1).split('&')) 
})(jquery); 

$.urlParam = function(name){ 
    var results = new RegExp('[?&]' + name + '=([^&#]*)').exec(window.location.href); 
    if (!results) 
    {  
        return 0;  
    } 
    return results[1] || 0; 

var getParamValue = (function() { 
    var params, 
        resetParams = function() { 
            var query = window.location.search, 
                regex = /[?&;](.+?)=([^&;]+)/g, 
                match; 
 
            params = {}; 
 
            if (query) { 
                while (match = regex.exec(query)) { 
                    params[match[1]] = decodeURIComponent(match[2]); 
                } 
            }     
        }; 
 
    window.addEventListener 
    && window.addEventListener('popstate', function() { 
        resetParams(); 
    }); 
 
    resetParams(); 
 
    return function(param) { 
        return params.hasOwnProperty(param) ? params[param] : null; 
    } 
})();? 

// The plugin jQuery-URL-Parser https://github.com/allmarkedup/jQuery-URL-Parser
$.url.param("itemID") 
;(function ($) { 
    $.extend({       
        getQueryString: function (name) {            
            function parseParams() { 
                var params = {}, 
                    e, 
                    a = /+/g,  // Regex for replacing addition symbol with a space 
                    r = /([^&=]+)=?([^&]*)/g, 
                    d = function (s) { return decodeURIComponent(s.replace(a, " ")); }, 
                    q = window.location.search.substring(1); 
 
                while (e = r.exec(q)) 
                    params[d(e[1])] = d(e[2]); 
 
                return params; 
            } 
 
            if (!this.queryStringParams) 
                this.queryStringParams = parseParams();  
 
            return this.queryStringParams[name]; 
        } 
    }); 
})(jQuery); 
 
// 使用 
var someVar = $.getQueryString('myParam'); 
http://medialize.github.com/URI.js/

var data = URI('?foo=bar&bar=baz&foo=world').query(true); 
data == { 
  "foo": ["bar", "world"], 
  "bar": "baz" 

function getUrlParams() { 
    var result = {}; 
    var params = (window.location.search.split('?')[1] || '').split('&'); 
    for(var param in params) { 
        if (params.hasOwnProperty(param)) { 
            paramParts = params[param].split('='); 
            result[paramParts[0]] = decodeURIComponent(paramParts[1] || ""); 
        } 
    } 
    return result; 
}