方法:先用「new RegExp("(^|&)" name "=([^&]*)(&|$)")」建構一個含有目標參數的正規物件;然後用「location.search.substr(1).match()」符合目標參數;最後將參數值傳回即可。
本教學操作環境:windows7系統、jquery3.2.1版,此方法適用於所有品牌電腦。
相關推薦:《jQuery教學》
#使用jquery取得url及url參數的方法
1、jquery取得url很簡單,程式碼如下:
window.location.href;
其實只是用到了javascript的基礎的window對象,並沒有用jquery的知識。
2、jquery獲取url參數比較複雜,要用到正則表達式,所以學好javascript正則式多麼重要的事情
首先看看單純的通過javascript如何來獲取url中的某個參數:
//获取url中的参数 function getUrlParam(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中的參數名稱就可以取得到參數的值,例如url為
http://localhost:33064/WebForm2 .aspx?reurl=WebForm1.aspx
我們要取得reurl的值,可以這樣寫:
var xx = getUrlParam('reurl');
明白了javascript取得url參數的方法,我們可以透過這個方法為jquery擴充一個方法來透過jquery取得url參數,下面的程式碼為jquery擴充了一個getUrlParam()方法
(function ($) { $.getUrlParam = function (name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; } })(jQuery);
為jquery擴充了這個方法了之後我們就可以透過以下方法來取得某個參數的值了:
var xx = $.getUrlParam('reurl');
完整程式碼:
##JavaScript unescape() 函數
##定義與用法unescape() 函數可對透過escape() 編碼的字串進行解碼。
描述 | |
---|---|
#必要。要解碼或反轉義的字串。 |
該函數的工作原理是這樣的:透過找到形式為%xx 和%uxxxx 的字元序列( x 表示十六進位的數字),用Unicode 字元\u00xx 和\uxxxx 取代這樣的字元序列進行解碼。
提示與註解註解:
ECMAScript v3 已從標準中刪除了unescape() 函數,並反對使用它,因此應該用decodeURI()和decodeURIComponent() 取代。 綜上:javascript對參數編碼解碼方法要一致:
以上是使用jquery怎麼取得url參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!