关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除,并返回url
在网页上找了半天,发现现在的资源实在是少的可怜,而前端尤甚。所以没办法,于是自己花了一些时间写了一个;
1 /**
2 * 删除URL中的指定参数
3 * @param {*} url
4 * @param {*} name
5 */
6 function delUrlParams(url, name){
7 //根据#号拆分
8 let poundArr = url.split('#')
9 //?拆分
10 let questionArr = []
11 if (poundArr) {
12 //把#接上
13 poundArr.forEach((element,index) => {
14 if(index>0){
15 element = '#'+ element
16 }
17
18 let tempArr = element.split('?')
19 if(!tempArr){
20 return true
21 }
22 tempArr.forEach((item, idx) => {
23 //保留问号
24 if (idx > 0) {
25 item = '?'+item
26 }
27 questionArr.push(item)
28 })
29 });
30 }else{
31 questionArr = url.split('?')
32 if (questionArr) {
33 questionArr.forEach((item, idx) => {
34 if (idx > 0) {
35 item = '?'+item
36 }
37 })
38 }
39 }
40
41 if(!questionArr){
42 return url
43 }
44
45 //&符号的处理
46 let andArr = []
47 questionArr.forEach((item,index) => {
48 let andIdx = item.indexOf('&')
49 if (andIdx <= -1) {
50 andArr.push(item)
51 return true
52 }
53
54 let tempAndArr = item.split('&')
55 tempAndArr.forEach((ele, idx) => {
56 if (idx > 0) {
57 ele = '&' + ele
58 }
59 andArr.push(ele)
60 })
61 })
62
63
64 let newUrl = ''
65 andArr.forEach(item => {
66 let nameIndex = item.indexOf(name+'=')
67 //不拼接要删除的参数
68 if (nameIndex > -1) {
69 //保留第一个问号
70 let questionIdx = item.indexOf('?')
71 if (questionIdx == 0) {
72 newUrl += '?'
73 }
74 return true
75 }
76 newUrl += item
77 })
78
79 return newUrl.replace(/\?\&/g,"?")
80 }
关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除,并返回url的更多相关文章
- JS去除数组中重复值的四种方法
JS去除数组中重复值的四种方法 1 /// <summary> o[this[i]] = ""; } } newArr.p ...
- js去除字符串中的标签
var str="<p>js去除字符串中的标签</p>"; var result=str.replace(/<.*?>/ig,"&qu ...
- JS获取url中的指定参数
function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new O ...
- js去除字符串中所有html标签及 符号
近日在做项目的时候,经常会在页面上处理一些数据.结果发现自己js掌握的并不是很好.那就在这里记录js的点点滴滴吧. 1. 去除字符串中的 html 标签 function delHtmlTag(str ...
- js 去除数组中的空值以及数组判断是否有重复数据
1.判断是否有重复数据 function isRepeat(array){ var hash = {}; for(var i in array) { if(array[i]!="" ...
- JS 去除字符串中的空格
1. 去掉字符串前后所有空格: 代码如下: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 说明: ...
- js替换字符串中所有指定的字符
第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replac ...
- js去除字符串中的空格
//去除空格 function Trime(string){ return string.replace(/\s/ig,""); }
- js-修改url中某个指定的参数的值
/* * url 目标url * arg 需要替换的参数名称 * arg_val 替换后的参数的值 * return url 参数替换后的url */ function changeURLArg(ur ...
随机推荐
- 如何在C艹大作业上用复数计算器拿下一个100分
0. qt qt简介: 百度百科 下载:官网下载 申请个账号就可以免费用了 安装方式可以在百度上找到,建议安装MinGW,其余自选. 1. 建立第一个qt文件 打开Qt Creator,点击文件,点击 ...
- QQ可以登录,网页无法访问
之前以为是网络的问题,但是,后来发现QQ却可以登录,这是第二次碰到这个情况,所以总结一下 一般我们电脑上都会安装一个杀毒软件,比如火绒等等.我电脑上用的联想自带的电脑管家 我们可以在工具箱中找到网络诊 ...
- ERROR: Pool overlaps with other one on this address space
出现问题 配置了两个不同的docker-compose.yml,使用了相同的网段,导致了在运行第二个yml文件时命令行报错目标网段已存在,报错如下: Creating network "v2 ...
- transformer模型转torchscript格式
from transformers import BertModel, BertTokenizer, BertConfig import torch enc = BertTokenizer.from_ ...
- algorithm库介绍之---- stable_sort()方法 与 sort()方法 .
文章转载自:http://www.cnblogs.com/ffhajbq/archive/2012/07/24/2607476.html 关于stable_sort()和sort()的区别: 你发现有 ...
- [bug] idea @Override is not allowed when implementing interface method
解决 将idea环境jdk设置一致 参考 https://blog.csdn.net/shenya2/article/details/50460447 https://www.cnblogs.com/ ...
- [DB] Spark Core (2)
RDD WordCount处理流程 sc.textFile("/root/temp/data.txt").flatMap(_.split(" ")).map(( ...
- 下面附上top和sar的使用方法,方便参考! "top"工具
下面附上top和sar的使用方法,方便参考! "top"工具 使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 说明:即时显示 ...
- APP测试(appium+Python基础操作)一
一.Appium入门案例 demo from appium import webdriver from time import sleep # server 启用参数 desired_caps = { ...
- 企业实施CRM系统后的积极作用
公司在发展过程中,可能会遇到各种各样的问题,尤其是来自客户的问题,是最令广大企业头痛的.这并不是一个单方面的问题,不仅涉及到员工也涉及到企业.因此,许多企业使用CRM客户管理系统来管理客户,并通过它来 ...