复杂的JavaScript字符串删除/替换

时间:2015-11-04 21:19:53

标签: javascript regex query-string

我有一个查询字符串,我需要从中删除某个参数。例如,我的查询字符串可能是"?name=John&page=12&mfgid=320",我需要从中删除“page”参数,最后得到"?name=John&mfgid=320"。我不能假设“page”参数是否跟随其他参数。

我使用JavaScript函数/正则表达式的所有尝试都失败了,所以我真的可以用它来实现这个功能。感谢。

2 个答案:

答案 0 :(得分:0)

这很容易......只是/page=\d+&?/

var uri = '?name=John&page=12&mfgid=320';
uri = uri.replace(/page=\d+&?/,'');

答案 1 :(得分:0)

您可以使用:

uri = uri.replace(/[?&]page=[^&\n]+$|([&?])page=[^&\n]+&/g, '$1');

RegEx Demo

我们需要使用交替来涵盖查询参数存在的所有情况。检查我的演示中的所有测试用例。