gpt4 book ai didi

javascript - 使用正则表达式从 JavaScript 中的 URL 中删除 utm_* 参数

转载 作者:行者123 更新时间:2023-11-30 11:16:58 34 4
gpt4 key购买 nike

我没有找到这个问题的任何好的答案,所以我分享我的发现和工作

如果你想从一个 URL 中删除所有谷歌分析术语,你最想保留其他参数并在最后得到一个干净有效的 URL

url = url.replace(/(\&|\?)utm([_a-z0-9=+\-]+)/igm, "$1");

像这样的网址https://www.somewebsite.fr/produit/yi-camera-3600-noir-vr-33705370/offre-81085802?utm_source=325483&utm_medium=affiliation&utm_content=catalogue-RDC&awc=6901_1530705916_88ef12642ad61df c5239ba01bbbe5249

你会得到这个https://www.somewebsite.fr/produit/yi-camera-3600-noir-vr-33705370/offre-81085802?&&&awc=6901_1530705916_88ef12642ad61dfc5239ba01bbbe5249

此网址已经有效,但我们有一些欺骗和迹象如果您从第一个请求中删除 $1,您将只使用 & 符号而不是 ?你应该在一开始就拥有

所以接下来清理我们保留第一个? sign => $1 并删除另一个前导 &

url = url.replace(/(\?)\&+/igm, "$1");

这里我们有一个漂亮干净的 URL

完整版:

url = url.replace(/(\&|\?)utm([_a-z0-9=+\-]+)/igm, "$1");
url = url.replace(/(\?)\&+/igm, "$1");

如果你能找到一个类轮,不客气

编辑:生成的 URL 应该是这个:https://www.somewebsite.fr/produit/yi-camera-3600-noir-vr-33705370/offre-81085802?awc=6901_1530705916_88ef12642ad61dfc5239ba01bbbe5249

最佳答案

我认为它可以像这样简单: url = url.replace(/(?<=&|\?)utm_.*?(&|$)/igm, "");

你不需要转义&

(?<=&|\?) = 正面回顾

.*? = 一切,但“不贪心”

关于javascript - 使用正则表达式从 JavaScript 中的 URL 中删除 utm_* 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51187508/

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