js获取地址栏的参数:
通过url地址可以传递参数,下面就是一段能够实现此功能的代码实例和和大家做一下分享,希望能够给需要的朋友带来一定的帮助。
代码如下:
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;}
一.代码注释:
1.function getUrlParams(){},声明一个函数实现了获取地址栏参数功能。
2.var search = window.location.search,返回当前url的查询部分,也就是url地址中问号(?)后面的部分。
3.var tmparray = search.substr(1, search.length).split("&"),使用substr()截取查询字符串?后面的部分,然后用&作为分割符来分割被截取后的字符串,每一个数组元素就是传递的参数和参数值。
4.var paramsArray = new Array,创建一个数组对象,用来存储传递的参数名称和参数值,此数组的元素也是一个数组。
5.if(tmparray!=null),如果数组存在。
6.for(var i=0;i<tmparray.length;i++){},遍历数组中的每一个元素。
7.var reg=/=/,能够匹配等号的正则表达式。
8.var set1=tmparray.replace(reg,'&'),tmparray数组的元素都是类似于["a=1","b=2"]这样的结构,此段代码就是将每一个数组项中的等号用&号替换。
9.var tmpStr2=set1.split('&'),生成一个新的数组。
10.var array=new Array,创建一个数组,此数组的索引是参数名称,数组项的值就是参数值。
11.array[tmpStr2[0]]=tmpStr2[1],传递的参数名称作为数组索引,参数值作为数组值。
12.paramsArray.push(array),将array对象作为数组paramsArray的值。
二.相关阅读:
1.location.search可以参阅Location对象的search属性一章节。
2.substr()函数可以参阅javascript的String对象的substr()方法一章节。
3.split()函数可以参阅javascript的split()函数使用介绍一章节。
4.replace()函数可以参阅正则表达式replace()函数一章节。
5.push()函数可以参阅javascript的Array对象的push()方法一章节。
原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=12422
更多内容可以参阅:http://www.softwhy.com/javascript/
原标题:js获取地址栏的参数
关键词:JS