1.指定url
/**
*@param url,name
**/
function getParam(url, name) {
try {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = url.split('?')[1].match(reg);
if(r != null) {
return r[2];
}
return "";//若是此處只寫return;則返回的是undefined
} catch(e) {
return "";//若是此處只寫return;則返回的是undefined
}
};
//調用
//狀況一:url包含該參數
var url="http:www.baidu.com?a=111&b=222&c=333";
var name="b";
var re=getParam(url,name);
//輸出結果
222
//狀況二:url不包含該參數
var url="http:www.baidu.com?a=111&b=222&c=333";
var name="d";
var re=getParam(url,name);
//輸出結果
空字符串
2.當前窗口的url
-
獲取url參數值對經過 escape() 編碼的字符串進行解碼。
-
獲取url參數值對 encodeURI() 函數編碼過的 URI 進行解碼。
//對escape()編碼的字符串進行解碼
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if(r != null){
return unescape(r[2]);
}
return null;//若是此處只寫return;則返回的是undefined
};
//對encodeURI()編碼過的 URI 進行解碼。
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if(r != null){
return decodeURI(r[2]);
}
return "";//若是此處只寫return;則返回的是undefined
};
//調用
//狀況一:url包含該參數
例如window.location.href="http://192.168.136.104:89/page/test5.html?a=1111&b=2222&c=33333";
var re=getUrlParam("c");
//結果
33333
//狀況二:url不包含該參數
例如window.location.href="http://192.168.136.104:89/page/test5.html?a=1111&b=2222&c=33333";
var re=getUrlParam("d");
//結果
空字符串