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. python基础13_zip_import

    继续内置函数,zip函数被比喻成拉链,将两边的齿对应起来. #!/usr/bin/env python # coding:utf-8 ## 比喻像个拉链,将两边对应起来. # 多出来的部分,不作处理. ...

  2. Java 实现ftp 文件上传、下载和删除

    本文利用apache ftp工具实现文件的上传下载和删除.具体如下: 1.下载相应的jar包 commons-net-1.4.1.jar 2.实现代码如下: public class FtpUtils ...

  3. web 自定义标签

    Web Components 标准非常重要的一个特性是,它使开发者能够将HTML页面的功能封装为 custom elements(自定义标签).而自定义标签的好处,就是在大型web开发的时候,可以封装 ...

  4. sql server 字符串根据指定分隔符进行分组

    SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO --功能:分拆字符串 --参数:@String:要分拆的字符串:@Delimiter:分割符号 --返回值: ...

  5. 《转》:JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

    原链接:https://my.oschina.net/feichexia/blog/196575 现实企业级Java开发中,有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 ...

  6. 博三F5第二次站立会议(2019-03-21)

    时间:2019-03-21(第五周) 地点:博三414寝室 时长:一个半小时 到勤:全员到勤 谈论内容: 大致确定本周计划与下周打算 本周计划: 杨澳:做出整个游戏软件开发过程的大致时间规划,做出需求 ...

  7. C# Main函数中调用异步方法的2种实现

    As you discovered, in VS11 the compiler will disallow an async Main method. This was allowed (but ne ...

  8. ckeditor_学习(2) 功能概览

    这篇文章用来说明 ckeditor 的所有可配置的功能,分为终端用户配置和开发者配置 1.终端用户配置 用户接口 – 设置编辑器的UI和语言 Editor 尺寸设置 – 设置编辑器的尺寸 插入内容 – ...

  9. python 编写登陆接口

    #!/usr/bin/env python#_*_ coding:utf-8 _*_dic={ 'yts':{'password':'123','count':0}, 'nick':{'passwor ...

  10. MySQL-02-进阶

    大纲 1)数据约束 2)数据库设计(表设计) 3)存储过程 4)触发器 5)mysql权限问题 数据约束 2.1什么数据约束 对用户操作表的数据进行约束 2.2 默认值 作用: 当用户对使用默认值的字 ...