如何获取地址栏中的参数

截取地址栏中的参数

方法一(正则表达式):

function getUrlParam(name)
{
    var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
    var r = window.location.search.substr(1).match(reg);  //匹配目标参数
    if (r!=null) return unescape(r[2]); return null; //返回参数值
}

方法二(jquery插件):

(function($){
    $.getUrlParam = function(name)
    {
        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r!=null) return unescape(r[2]); return null;
    }
})(jQuery);

方法三(字符串截取):

  • 通过window.location .href获取整个地址栏
  • 通过字符串截取,获取其中参数
  • 将各个参数放入到数组中
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 ; 
}
原文地址:https://www.cnblogs.com/wang-juan/p/6595482.html