在网页上找了半天,发现现在的资源实在是少的可怜,而前端尤甚。所以没办法,于是自己花了一些时间写了一个;

 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的更多相关文章

  1. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  2. js去除字符串中的标签

    var str="<p>js去除字符串中的标签</p>"; var result=str.replace(/<.*?>/ig,"&qu ...

  3. JS获取url中的指定参数

    function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new O ...

  4. js去除字符串中所有html标签及&nbsp符号

    近日在做项目的时候,经常会在页面上处理一些数据.结果发现自己js掌握的并不是很好.那就在这里记录js的点点滴滴吧. 1. 去除字符串中的 html 标签 function delHtmlTag(str ...

  5. js 去除数组中的空值以及数组判断是否有重复数据

    1.判断是否有重复数据 function isRepeat(array){ var hash = {}; for(var i in array) { if(array[i]!="" ...

  6. JS 去除字符串中的空格

    1. 去掉字符串前后所有空格: 代码如下: function Trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); } 说明: ...

  7. js替换字符串中所有指定的字符

    第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.  而str.replac ...

  8. js去除字符串中的空格

    //去除空格 function Trime(string){ return string.replace(/\s/ig,""); }

  9. js-修改url中某个指定的参数的值

    /* * url 目标url * arg 需要替换的参数名称 * arg_val 替换后的参数的值 * return url 参数替换后的url */ function changeURLArg(ur ...

随机推荐

  1. Linux(CentOS-8)安装MySQL8.0.11

    CentOS安装MySQL8.0.11 总的思路就是:安装MySQL,编写配置文件,配置环境变量,成功开启服务,登陆并修改ROOT密码 开启远程访问的思路就是:授权用户所有IP都可以访问,系统的数据库 ...

  2. Ubuntu执行命令时,不sudo提示权限不足,sudo提示找不到该命令

    问题:Ubuntu执行命令时,不sudo提示权限不足,sudo提示找不到该命令 补充描述:尝试将命令所在路径添加到/etc/profile中(所有用户环境变量),结果sudo -i切换到root用户后 ...

  3. phpstudy2018 开启目录浏览

    废话不多说直接开始 一.打开 vhosts-ini 配置文件 二.加入以下内容  注意填写自己的网站根目录 <Directory "你自己的网站根目录"> Option ...

  4. [bug] CDH报错:cloudera-scm-server dead but pid file exists

    参考 https://blog.csdn.net/levy_cui/article/details/51243335

  5. 查看 swappiness 值

    Swap的使用频率  发表于 2017-06-02 |  分类于 Linux |  评论数: 通过调整swappiness的值, 可以调整系统使用 swap 的频率 该值越小, 表示越大限度的使用物理 ...

  6. Linux_防火墙与SElinux

    一.防火墙与SElinux 1.防火墙和selinux 防火墙 iptables          默认允许所以 firewalld         默认拒绝所有 ebtables 不认识,不管 se ...

  7. ltp 测试流程及测试脚本分析

    LTP介绍 (2011-03-25 18:03:53) 转载▼ 标签: ltp linux 压力测试 杂谈 分类: linux测试 LTP介绍 一.LTP介绍1.简介LTP(Linux Test Pr ...

  8. CSS设计模式介绍

    一. 常见CSS设计模式分析 oocss Object Oriented CSS,面向对象的CSS,旨在编写高可复用.低耦合和高扩展的CSS代码. OOCSS是以面向对象的思想去定义样式,将抽象(结构 ...

  9. 多条件分页 (Day_31)

    接我的上篇博客  EasyUI_使用datagrid分页 (Day_28) . 按惯例,我们先看效果图 EasyUI 实现多条件分页很简单. 我们先来通过官网了解下这两个属性: 显然,有了load 方 ...

  10. SpringBoot基础学习(一) SpringBoot概念、简单案例实现、单元测试及热部署讲解

    SpringBoot概念 Spring优缺点分析 Spring优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品,无需开发重量级的 ...