我希望通过点击事件从网址中删除参数。问题是参数可以在它之前有&
。因此,表单可以是search=MYSEARCHTERM
或&search=MYSEARCHTERM
。
我有以下内容似乎适用于其他一个但不是两个。我以为我可以有一个if / else语句,其中一个包含这样的东西。 (请原谅这个糟糕的正则表达式,但我以前从未写过)
var searchKeywordRegx = new RegExp(/(?:&)/ + 'search=' + searchKeyword);
$('.searchKeyword').click(function() {
$(this).remove();
var searchKeywordRegx = new RegExp('search=' + searchKeyword);
console.log(searchKeywordRegx);
document.location.href = String( document.location.href ).replace(searchKeywordRegx , "" );
});
我离开基地了吗?
答案 0 :(得分:2)
使用?
在regexp中创建一些可选项:
var searchKeywordRegx = new RegExp('&?search=' + searchKeyword);
答案 1 :(得分:1)
似乎没有正则表达式就可以做到这一点。如果您只是删除文档位置的“搜索”部分:
document.location.search = document.location.search
.replace('search=' + encodeURI(searchKeyword), '');