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. vim 匹配查找指定位置的数字,并将数字做运算后赋值

    举例,以下文本中有个DSC开头的以数字命名的jpg文件,我想修改文件名为在原来的基础上加上32,比如第一行中的字符改为:DSC00099.JPG 在vim中输入: :%s/DSC[]\+\(\d\+\ ...

  2. java DOM

    使用DOM解析XML文档的步骤 1.创建解析器工厂对象 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 2 ...

  3. php 微信调用扫一扫

    类库代码: <?phpclass JSSDK { private $appId; private $appSecret; public function __construct($appId, ...

  4. 小伙 zwfw-new.hunan.gov.cn.iname.damddos.com [222.240.80.52]

    由于这个应用出问题非常影响用户体验:于是立马让运维保留现场 dump 线程和内存同时重启应用,还好重启之后恢复正常.于是开始着手排查问题.

  5. php中的内存管理的介绍(转)

    本篇文章给大家带来的内容是关于php中的内存管理的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.php内存管理概述——Zend引擎 由于计算机的内存由操作系统进行管理,所以 ...

  6. Java基于opencv实现图像数字识别(三)—灰度化和二值化

    Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...

  7. string 迭代器

    #include <iostream>#include <string>#include<algorithm>#define m 10000000using nam ...

  8. mongoDB数据库的安装与配置

    noSql数据库MongoDB的安装地址:https://www.mongodb.com/download-center?jmp=nav#community 选择相应的版本进行下载,在此以window ...

  9. echart 百度地图实现效果

    1 必须引入 echarts.js文件 以及 china.js 点文件才可以执行代码2 ehcart官方文档有点小恶心,看了半天,好多东西都不是很清楚,必须挨个实验才行,希望对一些初学者来说可以少走一 ...

  10. jquery 禁止回车事件响应

    $(this).keydown( function(e) { var key = window.event?e.keyCode:e.which; if(key.toString() == " ...