最快捷的js方法
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]');