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