方法一 :正則分析法
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;
}
- 使用:
params = getgetQueryString(params)就可以獲取到參數
方法二
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;
}
- 調用GetRequest()此時獲取的是全部的參數,需要獲取某個參數怎么做呢?
var Request = new Object();
Request = GetRequest();
var 參數1,參數2,參數3,參數N;
參數1 = Request[''參數1''];
參數2 = Request[''參數2''];
參數3 = Request[''參數3''];
參數N = Request[''參數N''];
- 還有種方法直接獲取指定的方法,其實跟上面思路是一樣的,只是上面是獲取的全部參數,下面這個是傳入具體的參數名,獲取指定的參數。
function getParameterByName(paramName) {
var args = new Object();
var argsStr = location.search; //獲取URL參數字符串
if (argsStr.length > 0) {
argsStr = argsStr.substring(1);
var nameValueArr = argsStr.split("&"); //多參數
for (var i = 0; i < nameValueArr.length; i++) {
var pos = nameValueArr[i].indexOf('=');
if (pos == -1) continue; //如果沒有找到就跳過
var argName = nameValueArr[i].substring(0, pos); //提取name
var argVal = nameValueArr[i].substring(pos + 1); //提取value
args[argName] = unescape(argVal);
}
return args[paramName];
}
}