一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

javascript中获取地址url参数

时间:2013-02-20 编辑:简简单单 来源:一聚教程网

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

热门栏目