js 获取url中的参数 修改url 参数 移除url参数

var jsUrlHelper = {
getUrlParam : function(url, ref) {
var str = ""; // 如果不包括此参数
if (url.indexOf(ref) == -1)
return ""; str = url.substr(url.indexOf('?') + 1); arr = str.split('&');
for (i in arr) {
var paired = arr[i].split('='); if (paired[0] == ref) {
return paired[1];
}
} return "";
},
putUrlParam : function(url, ref, value) { // 如果没有参数
if (url.indexOf('?') == -1)
return url + "?" + ref + "=" + value; // 如果不包括此参数
if (url.indexOf(ref) == -1)
return url + "&" + ref + "=" + value; var arr_url = url.split('?'); var base = arr_url[0]; var arr_param = arr_url[1].split('&'); for (i = 0; i < arr_param.length; i++) { var paired = arr_param[i].split('='); if (paired[0] == ref) {
paired[1] = value;
arr_param[i] = paired.join('=');
break;
}
} return base + "?" + arr_param.join('&');
},
delUrlParam : function(url, ref) { // 如果不包括此参数
if (url.indexOf(ref) == -1)
return url; var arr_url = url.split('?'); var base = arr_url[0]; var arr_param = arr_url[1].split('&'); var index = -1; for (i = 0; i < arr_param.length; i++) { var paired = arr_param[i].split('='); if (paired[0] == ref) { index = i;
break;
}
} if (index == -1) {
return url;
} else {
arr_param.splice(index, 1);
return base + "?" + arr_param.join('&');
}
}
};

测试

var url1 = "http://localhost?page=tpage&size=tsize&key=tkey";

    console.log('----get-------')
console.log(jsUrlHelper.getUrlParam(url1,'page'))
console.log(jsUrlHelper.getUrlParam(url1,'size'))
console.log(jsUrlHelper.getUrlParam(url1,'key'))
console.log(jsUrlHelper.getUrlParam(url1,'other'))
console.log('----del-------')
console.log(jsUrlHelper.delUrlParam(url1,'page'))
console.log(jsUrlHelper.delUrlParam(url1,'size'))
console.log(jsUrlHelper.delUrlParam(url1,'key'))
console.log(jsUrlHelper.delUrlParam(url1,'other'))
console.log('----put-------')
console.log(jsUrlHelper.putUrlParam(url1,'page','page'))
console.log(jsUrlHelper.putUrlParam(url1,'size','size'))
console.log(jsUrlHelper.putUrlParam(url1,'key','key'))
console.log(jsUrlHelper.putUrlParam(url1,'other','other'))

输出

----get-------
tpage
tsize
tkey ----del-------
http://localhost?size=tsize&key=tkey
http://localhost?page=tpage&key=tkey
http://localhost?page=tpage&size=tsize
http://localhost?page=tpage&size=tsize&key=tkey
----put-------
http://localhost?page=page&size=tsize&key=tkey
http://localhost?page=tpage&size=size&key=tkey
http://localhost?page=tpage&size=tsize&key=key
http://localhost?page=tpage&size=tsize&key=tkey&other=other

js 获取url中的参数 修改url 参数 移除url参数的更多相关文章

  1. js获取jsp中的变量值

    js获取jsp中的变量值,有两种方式: 1.jsp标签获取属性 var message = '<%=request.getAttribute("message")%>' ...

  2. 【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数

    一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redi ...

  3. JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )

    1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...

  4. JS 获取字符串中的url并返回其下标索引

    //获取字符串中的url极其下标索引 function getHttpUrlArray(s) { var s1 = s.match(/http.*/); if(s1 == null) { return ...

  5. 用JS获取地址栏中的参数的简易方法

    这个方法用起来超级简单,传入参数即可直接获取地址栏中的参数 代码如下 function GetQueryString(name) { var reg = new RegExp("(^|&am ...

  6. JS 获取链接中的参数

    1.获取链接全部参数,以对象的形式返回 //获取url中参数 function GetRequest() { var url = location.search; //获取url中"?&qu ...

  7. js获取页面中图片的总数

    查看效果:http://keleyi.com/keleyi/phtml/image/9.htm 下面是完整代码: <html><body><div id="ke ...

  8. js 获取iframe中的元素

    今天要修改编辑器插件中的元素遇到的问题 jquery 在父窗口中获取iframe中的元素 1.Js代码 格式:$("#iframe的ID").contents().find(&qu ...

  9. JS获取链接中域名等信息

    以访问百度为例子http://pan.baidu.com/share/qrcode?w=150&h=150&url=http%3A%2F%2F172.16.1.96%2FWeb%2FG ...

  10. DOM操作 、js获取id的内容 和修改原来的内容(innerHTML)

    js获取id的内容(getElementById) 和修改原来的内容(innerHTML) 1.通过ID获取元素 学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的 ...

随机推荐

  1. Gurobi在Python环境里安装与使用(Windows环境)

  2. Linux 网络编程(一)--Linux操作系统概述

    一.Linux的内核版本 Linux内核的编号采用如下编号形式: 主版本号.此版本号.主补丁号.次补丁号 例如:2.6.26.3 第一个数字”2”是主版本号,表示第2大版本. 第二个数字”6”是此版本 ...

  3. 花了2小时写bug

    程序员的工作,写bug,修bug,改bug 写了2小时逻辑关系,没写明白 比昨天多了一个返回上一层的功能 也很简单,清除下数组内容即可 emm..明天继续深究吧 dic = { "植物&qu ...

  4. 关于indexof和substring经常记不住的点

    indexof 找到的字符位置是 字符串从0位开始算起的. lastIndexOf也一样,http://localhost:8080/aaa,的lastIndexOf("/")是2 ...

  5. Python帮助

    我们可以很容易的通过Python解释器获取帮助.如果想知道一个对象(object)更多的信息,那么可以调用help(object)!另外还有一些有用的方法,dir(object)会显示该对象的大部分相 ...

  6. 以太坊上发行ERC20代币

    ERC20 代币生成 环境 虚拟主机: ubuntu 18虚拟机 宿主主机: win10; ip:192.168.0.160 1.部署以太坊 1.1 安装GO 安装go,并编译geth 将下载好的go ...

  7. 1个多商户、多平台版 微信小程序(多商户、多平台版),影城行业、影业连锁 多商户、多平台版微信小程序。(基于多平台版,支持在业务上 可给 每个单独影城 分发定制单独的小程序版本)

    1个 影城行业 微信小程序(多商户.多平台版), 影业连锁 多商户.多平台版微信小程序.(基于多平台版,支持在业务上 可给 每个单独影城 分发定制单独的小程序版本) 资讯QQ: 876635409  ...

  8. Django JWT Token RestfulAPI用户认证

    一般情况下我们Django默认的用户系统是满足不了我们的需求的,那么我们会对他做一定的扩展 创建用户项目 python manage.py startapp users 添加项目apps INSTAL ...

  9. python笔记-数学、元组、日期、文件

    python在很多地方和C++相似,比如都会有关系.逻辑等运算符,但也有不同的地方,比如:#Python Number 类型转换int(x [,base ]) 将x转换为一个整数 long(x [,b ...

  10. 零基础python入门(1)

    1.前景及准备 (1).python是一门简单易学且功能强大的编程语言.它拥有高效的高级数据结构,并且能用简单而又高效的方式进行面向对象的编程.python优雅的语法和动态的类型,再结合它的解释性,使 ...