gpt4 book ai didi

javascript - 用正则表达式替换 URL 中的参数

转载 作者:行者123 更新时间:2023-11-29 10:37:43 25 4
gpt4 key购买 nike

我想用特定的 id 替换 url 字符串中的“:id”,例如54 我的问题是使用“/(:id)/i”来替换这个参数是否足够,或者我应该使用更复杂的东西?谢谢

var url = "http://www.test.com/api/person/:id/details"
var str = url.replace(/(:id)/i, 54);

更新:

我刚刚意识到,如果有一个能够替换 URL 中的多个值的函数会很棒。示例:

function replaceParametersInUrl(url, params) {
var regex = new RegExp(Object.keys(params).join('|'), 'gi');
return url.replace(regex, function(matched) {
return params[matched];
});
}

console.log(replaceParametersInUrl("api/person/:userId/items/:itemId", {userId: 56, itemId: 1}));

此解决方案的问题在于它仅替换了没有“:”的 userId 和 itemId 字符串。我怎样才能实现它会替换那些字符串,包括“:”?

最佳答案

在“正常”情况下,它应该足够了。用户可以键入 :id:Id 但您已经使用了区分大小写的标志,所以应该没问题。

但你才是应该知道这是否足够的人。也许在您的应用程序中存在这样一种情况,即在您要替换的那个之前有一个 :id。比起上面给出的 RegExp 有问题。

关于javascript - 用正则表达式替换 URL 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34129140/

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