jQuery,匹配查询字符串的正则表达式

时间:2013-06-28 15:28:38

标签: jquery regex

我有这个网址,我想匹配 test = dahsdhajd 部分,以便使用replace()删除它;

http://www.mysite.com?test=dhasjdhja&src=list

我可以使用这个正则表达式:

var regex = /test=.+&/;
var url = window.location.href;
var newUrl = url.replace(regex, "");

这样可以正常工作,给我:

http://www.mysite.com?test=dhasjdhja

问题是,当我在其后面没有其他查询字符串时,我需要使正则表达式匹配 test = dshajdhajd

http://www.mysite.com?test=dhasjdhja

我目前的正则表达式与上述不匹配,因为没有“&” 此外,在这种情况下,我还需要一种方法来删除问号 - 所以正则表达式也应该匹配它。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我建议使用背后的角色,如下:

.replace(/([?&])test(?:(?=&)|=[^&]*)/,"$1")

这适用于字符串的结尾,并且允许它不会影响?anothertest=derp

之类的内容

编辑:改了一下,添加了对空参数或布尔参数的支持。