JS 获取 url 参数的几种方法

①网上有位童鞋这么写的:

function QueryString(key){
	var paras = location.search;
	if(paras){
		var arr = paras.substr(1).split("&"),data;
		for(i in arr){
			data = arr[i].split("=");
			if(data[0] == key){
				return data[1]
			}
		}
	}
}

②这是我原来搜集的,并且加以修改:

我加了个decodeURIComponent方法 至于你加不加,反正我加了

//如果你用一个带汉字的页面参数去跳转页面的话,
//URL类似这样(http://xxxx/MyJsp.jsp?id=3&name=呵呵):
//遨游3会将汉字转换 http://xxxx/MyJsp.jsp?id=3&name=%BA%C7%BA%C7
//IE下默认是汉字 http://xxxx/MyJsp.jsp?id=3&name=呵呵
function Request(name){
	var pattern = /(\w*)=([a-zA-Z0-9\u4e00-\u9fa5]+)/ig, params = {};//定义正则表达式和一个空对象
	decodeURIComponent(window.location.href, true).replace(pattern, function(a, b, c){ params[b] = c; });
	return params[name] ? params[name] : null;
}
//.Net索引器求值方式
function Params(){
	var pattern = /(\w*)=([a-zA-Z0-9\u4e00-\u9fa5]+)/ig, params = {};//定义正则表达式和一个空对象
	decodeURIComponent(window.location.href, true).replace(pattern, function(a, b, c){ params[b] = c; });
	return params;
}
var params = Params();
alert(params["name"]);
//当然也可以这样
//alert(params.name);
posted @ 2011-08-31 06:48  小可丶同学  阅读(5669)  评论(0)    收藏  举报