JS获取地址栏参数的方法

时间:2024-01-15 21:51:14

1.

window.location.href

2.正则方法

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; //返回参数值
}

getUrlParam("参数");

例如 index.html?id=10

getUrlParam("id");

3.原生传统方法

function UrlSearch()
{
var name,value;
var str=location.href; //取得整个地址栏
var num=str.indexOf("?")
str=str.substr(num+1); //取得所有参数 stringvar.substr(start [, length ] var arr=str.split("&"); //各个参数放到数组里
for(var i=0;i < arr.length;i++){
num=arr[i].indexOf("=");
if(num>0){
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
this[name]=value;
}
}
}
var Request=new UrlSearch(); //实例化
alert(Request.id);

4.为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);

$.getUrlParam('id');

参考:1.http://www.jb51.net/article/47656.htm

   2.http://www.cnblogs.com/fishtreeyu/archive/2011/02/27/1966178.html