虽然您可以使用 Regex 执行此操作,但如果您使用非 Regex 方法,它可能会更容易和/或更一致。之所以出现这种情况,是因为查询字符串可能有多种布局(id
值为 first、last 或中间)。
编辑: @AdrianaVillafañe 证明这可以通过正则表达式轻松完成!我将把这个仅限 JS 的方法留在这里,因为它确实有效。
我喜欢使用这种 JavaScript 方法从 URL 解析查询字符串并获取与所需名称匹配的第一个值。在您的情况下,“id”将是name
参数。
// parses the query string provided and returns the value
function GetQueryVariable(query, name) {
if (query.indexOf("?") == 0) { query = query.substr(1); }
var pairs = query.split("&");
for (var i = 0; i < pairs.length; i++) {
var pair = pairs[i].split("=");
if (pair[0] == name) {
return pair[1];
}
}
return "";
}
要使用此方法,您需要传入 URL 的查询字符串部分和要获取的值的名称。如果要解析当前请求的 URL,可以这样做:
var value = GetQueryVariable(location.search, "id");
在尝试处理查询字符串布局的可能变化时,尝试在 Regex 中执行此操作很可能是不一致的。