Javascript 获取链接(url)参数的方法

  有时我们需要在客户端获取url参数,而javascript没有提供类似getQueryString的函
 数。所以我们就得自己写个咯!
  今天介绍两种获取链接(url)参数的方法:

  第一种用正则匹配的方式:

function getQueryString(url, name) {
var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
return reg.test(url) ? unescape(RegExp.$2.replace(/\+/g, " ")) : ""
}

  第二种:

function getQueryString(url,name)
{
// 如果链接没有参数,或者链接中不存在我们要获取的参数,直接返回空
if(url.indexOf("?")==-1 || url.indexOf(name+'=')==-1)
{
return '';
}
// 获取链接中参数部分
var queryString = url.substring(url.indexOf("?")+1);
// 分离参数对 ?key=value&key2=value2
var parameters = queryString.split("&");
var pos, paraName, paraValue;
for(var i=0; i<parameters.length; i++)
{
// 获取等号位置
pos = parameters[i].indexOf('=');
if(pos == -1) { continue; }
// 获取name 和 value
paraName = parameters[i].substring(0, pos);
paraValue = parameters[i].substring(pos + 1);
// 如果查询的name等于当前name,就返回当前值,同时,将链接中的+号还原成空格
if(paraName == name)
{
return unescape(paraValue.replace(/\+/g, " "));
}
}
return '';
};

  用法:

var action = getQueryString(location.href,'action');




posted @ 2011-09-20 16:40  jinrui  阅读(256)  评论(0编辑  收藏  举报