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"))

你可能感兴趣的:(JavaScript)