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。

 

posted @ 2014-08-31 14:53  最爱晴天  阅读(2133)  评论(0编辑  收藏  举报