javascript取url参数的几种方法
//获取QueryString的数组 function getQueryString() { var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+", "g")); if (result == null) { return ""; } for (var i = 0; i < result.length; i++) { result[i] = result[i].substring(1); } return result; } //根据QueryString参数名称获取值 function getQueryStringByName(name) { var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i")); if (result == null || result.length < 1) { return ""; } return result[1]; } //根据QueryString参数索引获取值 function getQueryStringByIndex(index) { if (index == null) { return ""; } var queryStringList = getQueryString(); if (index >= queryStringList.length) { return ""; } var result = queryStringList[index]; var startIndex = result.indexOf("=") + 1; result = result.substring(startIndex); return result; } alert(getQueryString()) alert(getQueryStringByName("user")) alert(getQueryStringByIndex("0")) alert(getQueryStringByIndex("1"))
其他方法:
//取页面参数1 如url:http://sh2.changyou.com/info/result.shtml?key=xxx function getQueryString(name) { var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i"); if (reg.test(location.href)){ var tmp = decodeURI(RegExp.$2.replace(/\+/g, " ")); return tmp; } return ""; } var searchs_key; searchs_key = getQueryString('key'); //取页面参数2 // 获取地址栏的参数数组 function getUrlParams() { var search = window.location.search ; // 写入数据字典 var tmparray = search.substr(1,search.length).split("&"); var paramsArray = new Array; if( tmparray != null) { for(var i = 0;i<tmparray.length;i++) { var reg = /[=|^==]/; // 用=进行拆分,但不包括== var set1 = tmparray[i].replace(reg,'&'); var tmpStr2 = set1.split('&'); var array = new Array ; array[tmpStr2[0]] = tmpStr2[1] ; paramsArray.push(array); } } // 将参数数组进行返回 return paramsArray ; } // 根据参数名称获取参数值 function getParamValue(name) { var paramsArray = getUrlParams(); if(paramsArray != null) { for(var i = 0 ; i < paramsArray.length ; i ++ ) { for(var j in paramsArray[i] ) { if( j == name ) { return paramsArray[i][j] ; } } } } return null ; }
//获取QueryString的数组
function getQueryString() {
var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+", "g"));
if (result == null) {
return "";
}
for (var i = 0; i < result.length; i++) {
result[i] = result[i].substring(1);
}
return result;
}
//根据QueryString参数名称获取值
function getQueryStringByName(name) {
var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
if (result == null || result.length < 1) {
return "";
}
return result[1];
}
//根据QueryString参数索引获取值
function getQueryStringByIndex(index) {
if (index == null) {
return "";
}
var queryStringList = getQueryString();
if (index >= queryStringList.length) {
return "";
}
var result = queryStringList[index];
var startIndex = result.indexOf("=") + 1;
result = result.substring(startIndex);
return result;
}
alert(getQueryString())
alert(getQueryStringByName("user"))
alert(getQueryStringByIndex("0"))
alert(getQueryStringByIndex("1"))