js/jquery 获取url参数【转】
js代码:
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
URL的参数&参数名1=XXXX&参数名2=XXXX&参数名3=XXXX
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
jquery 代码:
把下面代码。放到js文件中
/*** jQuery.query - Query String Modification and Creation for jQuery* Written by Blair Mitchelmore (blair DOT mitchelmore AT gmail DOT com)* Licensed under the WTFPL (http://sam.zoy.org/wtfpl/).* Date: 2009/8/13** @author Blair Mitchelmore* @version 2.1.6***/ new function(settings) { // Various Settingsvar $separator = settings.separator || '&';var $spaces = settings.spaces === false ? false : true;var $suffix = settings.suffix === false ? '' : '[]';var $prefix = settings.prefix === false ? false : true;var $hash = $prefix ? settings.hash === true ? "#" : "?" : "";var $numbers = settings.numbers === false ? false : true;jQuery.query = new function() {var is = function(o, t) {return o != undefined && o !== null && (!!t ? o.constructor == t : true);};var parse = function(path) {var m, rx = /\[([^[]*)\]/g, match = /^([^[]+?)(\[.*\])?$/.exec(path), base = match[1], tokens = [];while (m = rx.exec(match[2])) tokens.push(m[1]);return [base, tokens];};var set = function(target, tokens, value) {var o, token = tokens.shift();if (typeof target != 'object') target = null;if (token === "") {if (!target) target = [];if (is(target, Array)) {target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));} else if (is(target, Object)) {var i = 0;while (target[i++] != null);target[--i] = tokens.length == 0 ? value : set(target[i], tokens.slice(0), value);} else {target = [];target.push(tokens.length == 0 ? value : set(null, tokens.slice(0), value));}} else if (token && token.match(/^\s*[0-9]+\s*$/)) {var index = parseInt(token, 10);if (!target) target = [];target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);} else if (token) {var index = token.replace(/^\s*|\s*$/g, "");if (!target) target = {};if (is(target, Array)) {var temp = {};for (var i = 0; i < target.length; ++i) {temp[i] = target[i];}target = temp;}target[index] = tokens.length == 0 ? value : set(target[index], tokens.slice(0), value);} else {return value;}return target;};var queryObject = function(a) {var self = this;self.keys = {};if (a.queryObject) {jQuery.each(a.get(), function(key, val) {self.SET(key, val);});} else {jQuery.each(arguments, function() {var q = "" + this;q = q.replace(/^[?#]/,''); // remove any leading ? || #q = q.replace(/[;&]$/,''); // remove any trailing & || ;if ($spaces) q = q.replace(/[+]/g,' '); // replace +'s with spacesjQuery.each(q.split(/[&;]/), function(){var key = decodeURIComponent(this.split('=')[0] || "");var val = decodeURIComponent(this.split('=')[1] || "");if (!key) return;if ($numbers) {if (/^[+-]?[0-9]+\.[0-9]*$/.test(val)) // simple float regexval = parseFloat(val);else if (/^[+-]?[0-9]+$/.test(val)) // simple int regexval = parseInt(val, 10);}val = (!val && val !== 0) ? true : val;if (val !== false && val !== true && typeof val != 'number')val = val;self.SET(key, val);});});}return self;};queryObject.prototype = {queryObject: true,has: function(key, type) {var value = this.get(key);return is(value, type);},GET: function(key) {if (!is(key)) return this.keys;var parsed = parse(key), base = parsed[0], tokens = parsed[1];var target = this.keys[base];while (target != null && tokens.length != 0) {target = target[tokens.shift()];}return typeof target == 'number' ? target : target || "";},get: function(key) {var target = this.GET(key);if (is(target, Object))return jQuery.extend(true, {}, target);else if (is(target, Array))return target.slice(0);return target;},SET: function(key, val) {var value = !is(val) ? null : val;var parsed = parse(key), base = parsed[0], tokens = parsed[1];var target = this.keys[base];this.keys[base] = set(target, tokens.slice(0), value);return this;},set: function(key, val) {return this.copy().SET(key, val);},REMOVE: function(key) {return this.SET(key, null).COMPACT();},remove: function(key) {return this.copy().REMOVE(key);},EMPTY: function() {var self = this;jQuery.each(self.keys, function(key, value) {delete self.keys[key];});return self;},load: function(url) {var hash = url.replace(/^.*?[#](.+?)(?:\?.+)?$/, "$1");var search = url.replace(/^.*?[?](.+?)(?:#.+)?$/, "$1");return new queryObject(url.length == search.length ? '' : search, url.length == hash.length ? '' : hash);},empty: function() {return this.copy().EMPTY();},copy: function() {return new queryObject(this);},COMPACT: function() {function build(orig) {var obj = typeof orig == "object" ? is(orig, Array) ? [] : {} : orig;if (typeof orig == 'object') {function add(o, key, value) {if (is(o, Array))o.push(value);elseo[key] = value;}jQuery.each(orig, function(key, value) {if (!is(value)) return true;add(obj, key, build(value));});}return obj;}this.keys = build(this.keys);return this;},compact: function() {return this.copy().COMPACT();},toString: function() {var i = 0, queryString = [], chunks = [], self = this;var encode = function(str) {str = str + "";if ($spaces) str = str.replace(/ /g, "+");return encodeURIComponent(str);};var addFields = function(arr, key, value) {if (!is(value) || value === false) return;var o = [encode(key)];if (value !== true) {o.push("=");o.push(encode(value));}arr.push(o.join(""));};var build = function(obj, base) {var newKey = function(key) {return !base || base == "" ? [key].join("") : [base, "[", key, "]"].join("");};jQuery.each(obj, function(key, value) {if (typeof value == 'object') build(value, newKey(key));elseaddFields(chunks, newKey(key), value);});};build(this.keys);if (chunks.length > 0) queryString.push($hash);queryString.push(chunks.join($separator));return queryString.join("");}};return new queryObject(location.search, location.hash);}; }(jQuery.query || {}); // Pass in jQuery.query as settings object
如果想获取test,则可以引入插件后, 用如下方法获取: var test = $.query.get('test');如果参数有多个相同的名称 ,则可以这样: var arr = $.query.get('testy'); 输出: [ 值1 , 值2, 值3...]如果要获取多个相同名称中的某一个,可以这样: var arrayElement = $.query.get('testy[1]');此插件不仅能获取参数,也能设置参数。设置一个参数: var newUrl = $.query.set("section", 5).toString(); 输出 : "?section=5"设置两个参数: var newUrl = $.query.set("section", 5).set("action", "do").toString(); 输出 : "?action=do§ion=5"删除一个参数: var oldQueryAgain = $.query.REMOVE("type");清空所有参数: var emptyQuery = $.query.empty();复制所有参数: var stillTheSame = $.query.copy();
转自:http://hi.baidu.com/lxsunshuai/blog/item/4192a813cfc21ddcf6039e15.html
js/jquery 获取url参数【转】相关推荐
- 使用jquery获取url以及jquery获取url参数的方法
使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作1.jquery获取url很简单,代码如下1.window.location.href;其实只是用到了javascri ...
- js/jquery 获取url传递参数,js获取url?号后面的参数(一个或多个)
第一种方法: (获取一个) detail.html?order_id=10 <Script language="javascript"> function GetReq ...
- jQuery获取URL参数
若获取地址 http://localhost:8080/index.html?id=132 中的id的值,只需要,在js文件中加入下面代码(为jq扩展方法getUrlParam ) 便可以通过方法 ...
- 【转载】用JS\JQUERY获取地址栏参数的方法
前言 最近在做一个项目,里面需要通过jq来获取地址栏参数.以前没接触过,因此百度了一下,找到这篇文章,写得非常好.因此转载来分享与大家. 转载原文 正则获取 方法一:采用正则表达式获取地址栏参数:( ...
- sharepoint自带JS函数获取URL参数
GetUrlKeyValue 转载于:https://www.cnblogs.com/bmib/p/3139749.html
- 使用jquery获取url及url参数的方法及定义JQuery扩展方法
1.jquery获取url很简单,代码如下: window.location.href; 其实只是用到了javascript的基础的window对象,并没有用jquery的知识. 2.jquery获取 ...
- [开发笔记]-使用jquery获取url及url参数的方法
转载自:作者:酷小孩 出处:http://www.cnblogs.com/babycool/ 使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jque ...
- 使用jquery获取url及url参数的方法
[开发笔记]-使用jquery获取url及url参数的方法 使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作 1.jquery获取url很简单,代码如下: windo ...
- 【jQuery】获取url参数及url加参数的方法
1.jquery 获取 url 很简单,代码如下: window.location.href; 其实只是用到了 javascript 的基础的 window 对象,并没有用 jquery 的知识. 2 ...
- .NET手记-JS获取Url参数
最近为App做活动专区,其中很多活动都是采用html 5页面来制作的.一方面体量较小,制作快速,更新维护容易:另一方面,嵌入App后适配效果也不会很差. 这里我们采用混编形式来从native app传 ...
最新文章
- mysql 多个unique key_[MySQL]MySQL 中通过使用UNIQUE KEY 来控制字段值不重复的问题.
- java el jstl_java -EL技术JSTL技术
- Hoogle之装饰模式设计手机(下)
- Hdu 1384 Intervals
- 配置JDK时环境变量path和JAVA_HOME的作用
- JavaScript 省市级联效果
- “约见”面试官系列之常见面试题第三十八篇之js常见的继承方式(建议收藏)
- java排序学习笔记
- WPF窗体的生命周期
- 结合工作经历推荐新手编程语言
- 熊猫烧香系列变种分析报告
- DelayedWorkQueue踩坑笔记
- Nordic nRF52840 入门学习
- springboot无法打开 jsp 页面变成下载解决办法
- 21款奔驰S400L升级原厂小柏林之声音响
- Python多线程爬虫,主播信息资料爬取采集
- 网页的登录和注册页面
- 国内外量化平台发展现状析
- 红色高端爱家Aijiacms大型房产门户系统V9网站源码+带WAP
- ONVIF 事件--能力集
热门文章
- CPU长期不足3%(负载不足)系统吞吐量不够,资源浪费,必须JVM调优
- 递归查询部门以及部门下的成员列表
- HarmonyOS工程har的打包与引用
- 【零基础学习iOS开发】【01-前言】02-准备
- 万维链(Wanchain) 宣布与AION,ICON联合成立跨链联盟
- 【元胞自动机】基于matlab GUI元胞自动机模拟森林救火【含Matlab源码 2938期】
- OMG!造纸废水处理用消泡剂竟然这么好!买它
- 显影液消泡剂:显影液起泡的注意了
- 认知篇----嵌入式与单片机的关系之优秀
- Android--自定义模版EditText(多用于手机号码,银行卡号等输入)