您现在的位置:首页 >> 网页设计 >> JavaScript >> 内容

关于使用JS去除URL中的指定参数问题,js 对url进行某个参数的删除

时间:2020-3-23 14:12:56

  核心提示:在网页上找了半天,发现现在的资源实在是少的可怜,而前端尤甚。所以没办法,于是自己花了一些时间写了一个; 1 /** 2* 删除URL中的指定参数 3* @param {*} url4* @param...

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

 

 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 }

Java免费学习   Java自学网 http://www.javalearns.com

关注微信号:javalearns   随时随地学Java

或扫一扫

随时随地学Java

作者:不详 来源:网络
    你是从哪里知道本网站的?
  • 网友介绍的
  • 百度搜索的
  • Google搜索的
  • 其它搜索过来的
  • 网址输错了进来的
  • 太忙了不记得了
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
  • java学习网(www.javalearns.com) © 2014 版权所有 All Rights Reserved.
  • Email:javalearns@163.com 站长QQ:1356121699 晋ICP备14003680号-3
  • java学习网部分内容来自网络或网友发布,如侵犯了您利益,请发邮件至:javalearns@126.com,我们尽快处理!
  • Java学习网
  • 网站统计
  • 晋公网安备 14042902000001号