JS获取地址栏参数的方法

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

posted on 2016-11-30 18:05  yanyiyi  阅读(287)  评论(0编辑  收藏  举报