Javascript 获取以特定字符串开头的 URL 参数
Javascript get URL parameter that starts with a specific string
使用 javascript,我想 return 以 Loc- 开头的任何 url 参数作为数组.是否有一个正则表达式可以 return 这个,或者一个选项来获取所有 url 参数,然后循环遍历结果?
示例:www.domain.com/?Loc-chicago=test
如果url中有两个,我需要同时获取,如:
www.domain.com/?Loc-chicago=test&Loc-seattle=test2
您可以使用 window.location.search
获取 url 之后(包括 ?
)的所有参数。然后只需要遍历每个参数来检查它是否匹配。
不确定您期望得到什么样的数组,但这里有一个非常粗略和基本的示例,仅输出数组中的匹配值:
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]})
这是一个您可以使用的函数,它接受一个参数作为您正在寻找的参数开头:
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;
}
The URLSearchParams
interface defines utility methods to work with the
query string of a URL.
var url = new URL("http://" + "www.domain.com/?Loc-chicago=test&NotLoc=test1&Loc-seattle=test2");
var paramsString = url.search;
var searchParams = new URLSearchParams(paramsString);
for (var key of searchParams.keys()) {
if (key.startsWith("Loc-")) {
console.log(key, searchParams.get(key));
}
}
使用 javascript,我想 return 以 Loc- 开头的任何 url 参数作为数组.是否有一个正则表达式可以 return 这个,或者一个选项来获取所有 url 参数,然后循环遍历结果?
示例:www.domain.com/?Loc-chicago=test
如果url中有两个,我需要同时获取,如:
www.domain.com/?Loc-chicago=test&Loc-seattle=test2
您可以使用 window.location.search
获取 url 之后(包括 ?
)的所有参数。然后只需要遍历每个参数来检查它是否匹配。
不确定您期望得到什么样的数组,但这里有一个非常粗略和基本的示例,仅输出数组中的匹配值:
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]})
这是一个您可以使用的函数,它接受一个参数作为您正在寻找的参数开头:
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;
}
The
URLSearchParams
interface defines utility methods to work with the query string of a URL.
var url = new URL("http://" + "www.domain.com/?Loc-chicago=test&NotLoc=test1&Loc-seattle=test2");
var paramsString = url.search;
var searchParams = new URLSearchParams(paramsString);
for (var key of searchParams.keys()) {
if (key.startsWith("Loc-")) {
console.log(key, searchParams.get(key));
}
}