js獲取url引數值的兩種方式
阿新 • • 發佈:2019-01-08
方法一:採用正則表示式獲取位址列引數:( 強烈推薦,既實用又方便!)
//擷取url資料方法
var getParam = function (name) {
var search = document.location.search;
//alert(search);
var pattern = new RegExp("[?&]" + name + "\=([^&]+)", "g");
var matcher = pattern.exec(search);
var items = null ;
if (null != matcher) {
try {
items = decodeURIComponent(decodeURIComponent(matcher[1]));
} catch (e) {
try {
items = decodeURIComponent(matcher[1]);
} catch (e) {
items = matcher[1 ];
}
}
}
return items;
};
方法二:split拆分法
function GetRequest() {
var url = location.search; //獲取url中"?"符後的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for (var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
}
var Request = new Object();
Request = GetRequest();
// var 引數1,引數2,引數3,引數N;
// 引數1 = Request['引數1'];
// 引數2 = Request['引數2'];
// 引數3 = Request['引數3'];
// 引數N = Request['引數N'];
那麼,但你用上面的方法去呼叫:alert(GetQueryString(“url”));
如果用:alert(GetQueryString(“id”));那麼彈出的內容就是 123 啦;
2,window.location.protocol
URL 的協議部分
本例返回值:http:
3,window.location.host
URL 的主機部分
本例返回值:www.maidq.com
4,window.location.port
URL 的埠部分
如果採用預設的80埠(update:即使添加了:80),那麼返回值並不是預設的80而是空字元
本例返回值:”“
5,window.location.pathname
URL 的路徑部分(就是檔案地址)
本例返回值:/fisker/post/0703/window.location.html
6,window.location.search
查詢(引數)部分
除了給動態語言賦值以外,我們同樣可以給靜態頁面,並使用javascript來獲得相信應的引數值
本例返回值:?ver=1.0&id=6
7,window.location.hash
錨點
本例返回值:#imhere