js获取url参数的两种方法

时间:2024-07-19 21:33:08

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。