本文原理是使用正则表达式匹配location.search中的字符串。其中三个主要函数为 getquerystring()、getquerystringbyname(name)和getquerystringbyindex(index)
三个主要方法:
方法
说明
getquerystring
获取querystring的数组。
例如路径querystringdemo.html?id=5&type=1&flag=0
调用后返回[id=5, type=1, flag=0]
getquerystringbyname
根据querystring参数名称获取值
getquerystringbyindex
根据querystring参数索引获取值
复制代码 代码如下:
//获取querystring的数组
function getquerystring(){
var result = location.search.match(new regexp([\?\&][^\?\&]+=[^\?\&]+,g));
for(var i = 0; i result[i] = result[i].substring(1);
}
return result;
}
//根据querystring参数名称获取值
function getquerystringbyname(name){
var result = location.search.match(new regexp([\?\&] + name+ =([^\&]+),i));
if(result == null || result.length return ;
}
return result[1];
}
//根据querystring参数索引获取值
function getquerystringbyindex(index){
if(index == null){
return ;
}
var querystringlist = getquerystring();
if (index >= querystringlist.length){
return ;
}
var result = querystringlist[index];
var startindex = result.indexof(=) + 1;
result = result.substring(startindex);
return result;
}
测试页面路径:querystringdemo.html?id=5&type=1&flag=0
页面加载时:
在querystring's name后的文本框中输入要获取的querystring的名称获取相应的值:
在querystring's index后的文本框中输入要获取的querystring的索引获取相应的值(索引从0开始):
这样就可以在页面中方便的获取querystring的值了。最后附上测试页面querystringdemo.html的源代码:
复制代码 代码如下:
querystring