使用javascript,我想将任何以 Loc - 开头的url参数作为数组返回。是否有正则表达式会返回这个,或者是获取所有url参数的选项,然后遍历结果?
示例:www.domain.com/?Loc-chicago = test
如果网址中有两个,我需要同时获取两个,例如:
www.domain.com/?Loc-chicago=test&Loc-seattle=test2
答案 0 :(得分:1)
您可以使用window.location.search
从网址获取所有参数(包括?
)。然后,只需循环遍历每个参数来检查它是否匹配。
不确定您期望什么样的数组结果,但这里是非常粗略的基本示例,只输出数组中的匹配值:
var query = window.location.search.substring(1);
var qsvars = query.split("&");
var matched = qsvars.filter(function(qsvar){return qsvar.substring(0,4) === 'Loc-'});
matched.map(function(match){ return match.split("=")[1]})
答案 1 :(得分:0)
这是一个可以使用的函数,它接受您要查找的参数的参数:
function getUrlParameters(var matchVal) {
var vars = [];
var qstring = window.location.search;
if (qstring) {
var items = qstring.slice(1).split('&');
for (var i = 0; i < items.length; i++) {
var parmset = items[i].split('=');
if(parmset[0].startsWith(matchVal)
vars[parmset[0]] = parmset[1];
}
}
return vars;
}
答案 2 :(得分:0)