使用jquery獲取url及url引數
使用jquery獲取url以及使用jquery獲取url引數是我們經常要用到的操作
1、jquery獲取url很簡單,程式碼如下:
?1 | window.location.href; |
其實只是用到了javascript的基礎的window物件,並沒有用jquery的知識。
2、jquery獲取url引數比較複雜,要用到正則表示式,所以學好javascript正則式多麼重要的事情
首先看看單純的通過javascript是如何來獲取url中的某個引數:
?123456 | //獲取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的值,可以這樣寫:
?1 | var xx = getUrlParam( 'reurl' ); |
明白了javascript獲取url引數的方法,我們可以通過這個方法為jquery擴充套件一個方法來通過jquery獲取url引數,下面的程式碼為jquery擴充套件了一個getUrlParam()方法
1234567 | ( 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擴充套件了這個方法了之後我們就可以通過如下方法來獲取某個引數的值了:
?1 | var xx = $.getUrlParam( 'reurl' ); |
完整程式碼:
?12345678910111213141516171819202122232425262728293031323334 | <script src= "js/jquery-1.7.2.min.js" type= "text/javascript" ></script> <script type= "text/javascript" > $( function () { //方法二: ( 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
|