从url中删除参数

时间:2014-09-01 14:36:05

标签: javascript url parameters

我真的不理解.replace的语法:D有人可以修改我的代码吗?现在它只从URL中删除& chat = 1,但是我需要它从& chat = 1到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, "");

求救,谢谢我的英语:)

1 个答案:

答案 0 :(得分:2)

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

&?chat=.*

正则表达式

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

  • 最后
  • i 表示不感兴趣。

Online Demo

这样的事情:

"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"