gpt4 book ai didi

javascript - 如何使用javascript获取类似(参数名称包含)的参数?

转载 作者:行者123 更新时间:2023-12-02 18:30:56 25 4
gpt4 key购买 nike

我使用以下方法按名称获取参数:

function getParameterByName(name) {
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

我想知道如何更改它以获取包含某些字符串的参数,例如,我想获取包含单词“document”的参数,但整个参数名称不是“document”。

请指教,谢谢。

最佳答案

像这样吗?

 val = location.search.match(/document.*?=([^&]*)/)[1]

虽然我宁愿使用一个函数将整个查询字符串转换为一个对象(如 this one ),然后简单地应用一个过滤器:

params = urlParams()
ks = Object.keys(params).filter(function(k) { return k.indexOf("document") >= 0 })
if(ks)
value = params[ks[0]];

这样您就可以轻松支持多个参数(如 document1=foo&document2=bar)并避免丑陋的动态正则表达式构造。

在旧版浏览器中,您可以使用它代替 Object.keys/filter:

ks = []
for(var k in params)
if(k.indexOf("document") >= 0)
ks.push(k);

关于javascript - 如何使用javascript获取类似(参数名称包含)的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17805810/

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