gpt4 book ai didi

javascript - 删除 url 参数的正则表达式

转载 作者:行者123 更新时间:2023-11-30 08:42:14 26 4
gpt4 key购买 nike

我在使用 javascript 编写从 url 中删除任何这些参数的正则表达式时遇到问题:

pricerange=-#

pricerange=#-#

pricerange=#-

这对除最后一个以外的所有人都有效。它不会删除 pricerange=40-

var postUrl = "http://www.test.com/directory/?cat=203604&pricerange=-10&pricerange=10-20&pricerange=20-30&pricerange=30-40&pricerange=40-" 

postUrl = postUrl.replace(/[&\?]\bpricerange\=[0-9]*-[0-9]*\b/g, "");

结果:

http://www.test.com/directory/?cat=203604&pricerange=40-

预期结果:

http://www.test.com/directory/?cat=203604

这是 jsbin .

url 中可能还有其他我不想删除的参数。

最佳答案

去掉结尾的\b后重试

online demo

或使用 (\b|$) 来匹配字边界或行尾

更正 online demo


如果 cat=203604 位于 pricerange 查询参数之间,您的正则表达式将无法正常工作。

例如:

http://www.test.com/directory/?pricerange=-10&cat=203604&pricerange=10-20&pricerange=20-30&pricerange=30-40&pricerange=40-

输出:(查询参数应该以?开头)

http://www.test.com/directory/&cat=203604

您可以更正它,使用 &*\bpricerange\=[0-9]*-[0-9]*&*

这里是 online demo

关于javascript - 删除 url 参数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25313922/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com