javascript取url参数的几种方法

时间:2021-05-26 02:40:47
//获取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"))