我真的不明白 .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, "");
谢谢你的帮助,对不起我的英语:)
最佳答案
您正在使用正则表达式作为替换的一部分,并且根据您的需要,此表达式似乎更简单并且适合您的需要:
&?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"
关于javascript - 从 url 中删除参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25608146/