JS獲取當前頁面URL各種參數
一:Location
Location 對象包含有關當前 URL 的信息。
Location 對象是 Window 對象的一個部分,可通過 window.location 屬性來訪問。
hash | 設置或返回從井號 (#) 開始的 URL(錨)。 |
---|---|
host | 設置或返回主機名和當前 URL 的端口號。 |
hostname | 設置或返回當前 URL 的主機名。 |
href | 設置或返回完整的 URL。 |
pathname | 設置或返回當前 URL 的路徑部分。 |
port | 設置或返回當前 URL 的端口號。 |
protocol | 設置或返回當前 URL 的協議。 |
search | 設置或返回從問號 (?) 開始的 URL(查詢部分)。 |
例子
var href = window.location.href;
二:編碼解碼
正確的編碼解碼有助于處理中文字符,不正確則會中文亂碼。
函數 | 描述 |
---|---|
decodeURI() | 解碼某個編碼的 URI。 |
decodeURIComponent() | 解碼一個編碼的 URI 組件。 |
encodeURI() | 把字符串編碼為 URI。 |
encodeURIComponent() | 把字符串編碼為 URI 組件。 |
escape() | 對字符串進行編碼。 |
unescape() | 對由 escape() 編碼的字符串進行解碼。 |
三:復制即用
網上的示例大都是用unescape()
解碼,不過測試中文依舊亂碼,換成decodeURI()
即可。
/*** 獲取URL參數* @param 參數名* @returns 參數值*/
function GetQueryString(name) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");var r = window.location.search.substr(1).match(reg);if (r != null) return decodeURI(r[2]);return null;
}
在使用時最好加一下空值判斷:
if (GetQueryString("sex")!=null&&GetQueryString("sex").length>0) {//
}