读书人

js获取url的参数跟值的N种有效方法

发布时间: 2012-11-22 00:16:41 作者: rapoo

js获取url的参数和值的N种有效方法

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 method
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;}

读书人网 >JavaScript

热点推荐