js 获取url中的参数 修改url 参数 移除url参数
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参数的更多相关文章
- js获取jsp中的变量值
js获取jsp中的变量值,有两种方式: 1.jsp标签获取属性 var message = '<%=request.getAttribute("message")%>' ...
- 【2017-06-29】在登录页面自动返回上次请求页面、Js获取table中的行数与列数
一.在登录页面自动返回上次请求页面 Request.UrlReferrer比如 if (Request.UrlReferrer != null) { //如果能获取来路地址 Response.Redi ...
- JS基础入门篇( 三 )—使用JS获取页面中某个元素的4种方法以及之间的差别( 一 )
1.使用JS获取页面中某个元素的4种方法 1.通过id名获取元素 document.getElementById("id名"); 2.通过class名获取元素 document.g ...
- JS 获取字符串中的url并返回其下标索引
//获取字符串中的url极其下标索引 function getHttpUrlArray(s) { var s1 = s.match(/http.*/); if(s1 == null) { return ...
- 用JS获取地址栏中的参数的简易方法
这个方法用起来超级简单,传入参数即可直接获取地址栏中的参数 代码如下 function GetQueryString(name) { var reg = new RegExp("(^|&am ...
- JS 获取链接中的参数
1.获取链接全部参数,以对象的形式返回 //获取url中参数 function GetRequest() { var url = location.search; //获取url中"?&qu ...
- js获取页面中图片的总数
查看效果:http://keleyi.com/keleyi/phtml/image/9.htm 下面是完整代码: <html><body><div id="ke ...
- js 获取iframe中的元素
今天要修改编辑器插件中的元素遇到的问题 jquery 在父窗口中获取iframe中的元素 1.Js代码 格式:$("#iframe的ID").contents().find(&qu ...
- JS获取链接中域名等信息
以访问百度为例子http://pan.baidu.com/share/qrcode?w=150&h=150&url=http%3A%2F%2F172.16.1.96%2FWeb%2FG ...
- DOM操作 、js获取id的内容 和修改原来的内容(innerHTML)
js获取id的内容(getElementById) 和修改原来的内容(innerHTML) 1.通过ID获取元素 学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的 ...
随机推荐
- Asp.Net Core通过HttpStatusCode状态处理响应结果
在我的一个Asp.Net Core 2.1 的项目中,我们需要通过获得服务器返回的状态,去实现不用的操作,经过多方资料查询和实践,个人总结一种方法 一.修改控制器 在要返回值的控制器Action中,R ...
- 通过SSH去连接 github 和bitbucket
github 和 bitbucket 都是项目托管服务器, 1 创建SSH private key and public key 首先需要安装git命令, 并且请检查是否有ssh 命令. 打开 Git ...
- mysql 的存储过程_多字段
mysql 的存储过程 一.准备工作 新建一个表 /*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server V ...
- TCP学习总结(四)
TCP连接管理 TCP运输连接有3个阶段, 即: 连接建立,数据传送和连接释放. 1. TCP的连接建立(3次握手) TCP连接的建立采用客户服务器方式.主动发起连接建立的应用进程叫做客户(clien ...
- 洛谷 P1047 校门外的树
#include<iostream> #include<vector> #include<algorithm> using namespace std; ]; in ...
- 部署Qt应用时候报错0xc000007b
情况: 在开发环境可以运行,部署到其他电脑无法运行: 排错:百度.谷歌了很多方法不行,后来发现添加了Qt\5.11.0\mingw53_32\bin环境变量,程序执行正常,去掉就报错:猜测估计是dll ...
- UI规范案例-宝龙广场
- 查看python中模块的所有方法
查看python中模块的所有方法 安装的python模块,现将查看方法总结如下 一.CMD命令行下使用pydoc命令 在命令行下运行$ pydoc modules即可查看 二.在python交 ...
- 06_java基础知识——break/continue和标签的配合使用
package com.huawei.test.java03; /** * This is Description * * @author * @date 2018/08/29 */ public c ...
- ln 软链
ln -s a b 中的 a 就是源文件,b是链接文件名,其作用是当进入b目录,实际上是链接进入了a目录 如上面的示例,当我们执行命令 cd /gamestat/的时候 实际上是进入了 /hom ...