js获取url参数的两种方法

js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的

方式1:

function QueryString(item)
{
    var sValue=location.search.match(new RegExp("[\?\&]"+item+"=([^\&]*)(\&?)","i"))
    return sValue?sValue[1]:sValue
}

//使用方法
//url=http://www.xxx.com?ID=100&name=dom
var ID=QueryString("ID");  
var name=QueryString("name");


这种方式每一次调用QueryString()这个方法时都要去解析一次Url(当然多参数的情况下解析的时间也不会慢)

方式2:

           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]]=(strs[i].split("=")[1]); 
                    } 
                 } 
                 return theRequest; 
               } 
             //使用方法
                var Request = new Object();
                Request = GetRequest();
                 
               //url--http:www.xxx.com?id=1&&kid=2
                 var id=Requesr["id"];

 

这种方式一次性将参数存放到一个对象中,下去取参数时就用会再次去解析Url。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。