javascript中获取地址url参数
在javascript中获取地址url参数是我们少用的一个东西,下面我来分享现在网络上常用的获取地址url参数办法,有需要的朋友可参考参考。
最快捷的js方法,代码如下:
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r!=null) return unescape(r[2]); return null;
}
URL的参数&参数名1=XXXX&参数名2=XXXX&参数名3=XXXX,代码如下:
alert(GetQueryString("参数名1"));
alert(GetQueryString("参数名2"));
alert(GetQueryString("参数名3"));
后来又进入了改进,可兼容所有浏览器,代码如下:
// 获取地址栏的参数数组
function getUrlParams() {
var search = window.location.search;
// 写入数据字典
var tmparray = search.substr(1, search.length).split("&");
var paramsArray = new Array;
if (tmparray != null) {
for (var i = 0; i < tmparray.length; i++) {
var reg = /[=|^==]/; // 用=进行拆分,但不包括==
var set1 = tmparray[i].replace(reg, '&');
var tmpStr2 = set1.split('&');
var array = new Array;
array[tmpStr2[0]] = tmpStr2[1];
paramsArray.push(array);
}
}
// 将参数数组进行返回
return paramsArray;
}
// 根据参数名称获取参数值
function getParamValue(name) {
var paramsArray = getUrlParams();
if (paramsArray != null) {
for (var i = 0; i < paramsArray.length; i++) {
for (var j in paramsArray[i]) {
if (j == name) {
return paramsArray[i][j];
}
}
}
}
return null;
}
使用方法,带着2个参数name与year,代码如下:
http://localhost:8080/Default.aspx?Name=张三&Year=2013
你只需要,代码如下:
var Name = getParamValue("Name");
var Year = getParamValue("Year");
感觉是不是有点像php,asp这类的哦,上面js代码有点复杂正同我们利用jquery,如果想获取test,则可以引入插件后,用如下方法获取:
var test = $.query.get('test');
如果参数有多个相同的名称,则可以这样:
var arr = $.query.get('testy');
输出:
[ 值1 , 值2, 值3...]如果要获取多个相同名称中的某一个,可以这样:
var arrayElement = $.query.get('testy[1]');
