从url中删除参数

Remove parameters from url

本文关键字:参数 删除 url      更新时间:2023-09-26

我真的不懂.replace:D的语法。有人能修复我的代码吗?现在它只删除&chat=1从URL,但我需要它删除一切从&chat=1到URL末尾。URL示例:

http://xxxxxxx.xx/index.php?menu=1&submenu=1&chat=1&od=3&komu=1

我需要的结果:

http://xxxxxxx.xx/index.php?menu=1&submenu=1

结果我的代码现在在做什么:

http://xxxxxxx.xx/index.php?menu=1&submenu=1&od=3&komu=1

编码我现在使用的内容:

location.href=location.href.replace(/&?chat=([^&]$|[^&]*)/i, "");

谢谢帮助,对不起我的英语:)

您正在使用正则表达式作为替换的一部分,根据您的需要,这个表达式似乎更简单,适合您的需求:

&?chat=.*

在正则表达式中

  • ?表示可选,因此&是可选的,可能存在也可能不存在于字符串中
  • chat=这应该出现在后面的字符串上
  • .*这基本上意味着字符串中存在从0到任意多个字符的任何其他字符。

  • 末尾的i表示不区分大小写。

在线演示

类似这样的东西:

"http://xxxxxxx.xx/index.php?menu=1&submenu=1&chat=1&od=3&komu=1".replace(/&?chat=.*/i,"")
//->outputs "http://xxxxxxx.xx/index.php?menu=1&submenu=1"