我真的不理解.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, "");
求救,谢谢我的英语:)
答案 0 :(得分:2)
您正在使用正则表达式作为替换的一部分,根据您的需要,此表达式似乎更简单并且符合您的需求:
&?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"