雖然你可以使用正則表達式來做到這一點,但如果你使用非正則表達式的方法,它可能會更容易和/或更一致。這是因爲查詢字符串可能有各種各樣的佈局(
id
值首先,最後或中間)。
編輯: @AdrianaVillafañe證明這可以用一個正則表達式輕鬆完成!我將在此留下此JS-only方法,因爲它確實有效。
我喜歡使用此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");
試圖做到這一點的正則表達式將最有可能是不一致的,充其量試圖處理的查詢字符串的可能的變化時,佈局。
來源
2012-04-12 15:51:20
TLS
這假定'id'始終是第一個參數。 – kafuchau 2012-04-12 15:30:18
@kafuchau感謝您指出了這一點。 – qw3n 2012-04-12 15:33:44