js獲取地址欄的參數:通過url地址可以傳遞參數,下麵就是一段能夠實現此功能的代碼實例和和大家做一下分享,希望能夠給需要的朋友帶來一定的幫助。代碼如下: function getUrlParams(){ var search = window.location.search; // 寫入數據字典 v
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/