var UrlArgent = {
Parsed: false, //是否已解析
Cache: {}, //缓存值
ParseArg: function () {
// 解析地址栏的参数值
UrlArgent.Parsed = true;
var url = location.search;
if (-1 == url.indexOf('?')) return; var args = url.substr(1).split("&");
for (var i = 0; i < args.length; i++) {
var tmp = args[i];
var pos = tmp.indexOf('=');
if (-1 == pos) continue;
UrlArgent.Cache[tmp.substr(0, pos)] = tmp.substr(pos + 1);
}
},
GetItem: function (queryStringName, defaultVal) {
// 获取单个项目的值 queryStringName大小写敏感,及区分大小写
if (UrlArgent.Parsed == false) UrlArgent.ParseArg(); return UrlArgent.Cache[queryStringName] || (typeof (defaultVal) == 'undefined' ? '' : defaultVal.toString());
},
GetItemIgnore: function (queryStringName, defaultVal) {
// 获取单个项目的值 queryStringName忽略大小写
if (UrlArgent.Parsed == false) UrlArgent.ParseArg(); for (var k in UrlArgent.Cache) {
if (UrlArgent.Cache.hasOwnProperty(k) == false) continue; //只取私有属性
if (k.toLowerCase() == queryStringName.toLowerCase()) return UrlArgent.Cache[k];
} return (typeof (defaultVal) == 'undefined' ? '' : defaultVal.toString());
},
GetUrl: function (newValue, ignore) {
// 获取url参数 newValue增加或修改的值 ignore关键字是否忽略大小写,true忽略大小写其他值大小写敏感
if (typeof (newValue) != 'object') return location.search.substr(1); //原样返回 if (UrlArgent.Parsed == false) UrlArgent.ParseArg(); var url = [];
for (var k in UrlArgent.Cache) {
if (UrlArgent.Cache.hasOwnProperty(k) == false) continue; //只取私有属性 var val = UrlArgent.Cache[k]; //默认是原值
for (var n in newValue) {
if (newValue.hasOwnProperty(n) == false) continue; if ((k == n) || (ignore == true && k.toLowerCase() == n.toLowerCase())) { //需要替换原来的值
val = newValue[n].toString(); //赋新值
newValue[n] = null; //清除设置了值的项
}
}
url.push(k + '=' + val);
} for (var n in newValue) { //新增加的键值
if (newValue.hasOwnProperty(n) == false) continue;
if (newValue[n] == null) continue;
url.push(n + '=' + newValue[n].toString());
} return url.join('&');
} };

使用:

        var a = UrlArgent.GetItem('x');
var x = UrlArgent.GetItem('x', 0);
var y = UrlArgent.GetItemIgnore('X');
var s = UrlArgent.GetUrl();
var w = UrlArgent.GetUrl({ "x": "vv", "ismobilE": "vs" });
var z = UrlArgent.GetUrl({ "X": "vv", "ismobilE": "vs" }, true);

js处理url参数的更多相关文章

  1. js获取url参数的方法

    js获取url参数的方法有很多. 1.正则分析 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...

  2. get方法与post方法的区别与js获取url参数的方式

    1.get方法与post方法的区别: 区别一:get重点在从服务器上获取资源,post重点在向服务器发送数据:区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于UR ...

  3. js获取url参数,操作url参数

    function getParam(key) { var tmp = location.search; tmp = decodeURIComponent(tmp); var index = tmp.i ...

  4. js javascript 获取url,获得当前页面的url,静态html文件js读取url参数

    获得当前页面的url window.location.href 静态html文件js读取url参数 location.search; //获取url中"?"符后的字串 下边为转载的 ...

  5. js截取url参数

    举例说明,比如http://localhost:2019/blog/getCommentListInfo?postId=1如何获取postId=1这个参数值呢?很简单通过下面代码即可获取,如: win ...

  6. .NET手记-JS获取Url参数

    最近为App做活动专区,其中很多活动都是采用html 5页面来制作的.一方面体量较小,制作快速,更新维护容易:另一方面,嵌入App后适配效果也不会很差. 这里我们采用混编形式来从native app传 ...

  7. js修改url参数,无刷新更换页面url

    一.js修改地址栏URL参数 function changeURLPar(destiny, par, par_value) { var pattern = par + '=([^&]*)'; ...

  8. js 处理url参数,应用导航分类

    1.先上图 2.代码 html <li><a href="javascript:void(0);" data-cid = "{$v['id']}&quo ...

  9. JS解析URL参数为对象

    曲不离口,拳不离手 JS小编程练习之一:解析URL参数为对象 url:http://www.baidu.com/we/index.html?id=098&aaa=123&ccc=456 ...

  10. js 获取url参数的值

    //获取url参数函数function GetQueryString(name){    var reg = new RegExp("(^|&)"+ name +" ...

随机推荐

  1. ArrayList转成HashMap再转成LinkedHashMap 自己的解决方案

    做天津杰超项目中赛事活动作品审核中写的一段代码: //获取全部作品 ActivityProductionQueryCommond productionQueryCommond=new Activity ...

  2. HDU 5970 最大公约数

    中文题 题意: 思路: 1.观察可得 模m的同余系和m的gcd都相同(这题多了一个c也是相同的) 2.由于取证所以不能用简单的用O(m^2)的做法,涉及到多1少1的 3.打表观察,例如i为模9为7的数 ...

  3. SQL 用户定义表类型,在存储过程里使用表类型,表参数作参数

    .定义表类型SUTDENTTYPE,包含三个字段,分别对应学生表的NAME,SEX和PHONE.之所以如此创建,我是准备在插入新学生数据的存储过程中,以它为参数.   GO CREATE TYPE S ...

  4. H5页面在QQ和微信上分享,为什么不能自定义设置图片和摘要?

    [记录]title标签中的页面标题为抓取标题.body内第一个img标签内的图片为自动抓取缩略图,图片宽高要大于300,如果不希望显示出来,将标签宽高皆设置为0.摘要显示为来源链接,如需自定义需要通过 ...

  5. Oracle定时计划快速使用

    Oracle定时计划快速使用 前言: SQL Server中有相关的定时计划,可以直接打开sql server 的任务管理器进行配置,可以方便.快速实现定时执行相应任务.相应的Oracle也有对应的定 ...

  6. SSHD服务搭建

    SSH协议:安全外壳协议.为Secure Shell 缩写.SSH为建立在应用层和传输层基础上的安全协议.   1.检查SSH服务端安装情况 [root@rhel6_84 ~]# rpm -qpi / ...

  7. python3.5学习笔记:linux6.4 安装python3 pip setuptools

    前言: python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在linux6.4下搭建python3环境的过程 以及碰到的问题和解决过程. 另外,如果本机安装了py ...

  8. 【python】global

    #!/usr/bin/python # Filename: func_global.py def func(): global x print 'x is', x x = 2 print 'Chang ...

  9. hdu3294 girl‘s research

    题目大意:有多组数据,每组数据给出一个字符和一个字符串.该字符将变成’a‘,表示字符串中的所有该字符将变成’a‘,同时其他字符也将做相同的偏移.具体来说,如果该字符为’b‘,表示字符串中的’b‘都将变 ...

  10. Spring Boot(3)---自定义spring boot starter 问题

    1. "Failed to process import candidates for configuration class [com.simple.....]": 主要原因: ...