使用jquery獲取url以及使用jquery獲取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');
完整代碼:
<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 null;
}
})(jQuery);
//方法二:
var xx = $.getUrlParam('reurl');
//方法一:
// var xx = getUrlParam('reurl');
alert(xx);
});
//方法一:
//獲取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; //返回參數值
}
</script>
網上找的另一種javascript獲取url中參數的方法:
<script language="JavaScript" type="text/javascript">
function GetUrlParms()
{
var args=new Object();
var query=location.search.substring(1);//獲取查詢串
var pairs=query.split("&");//在逗號處斷開
for(var i=0;i<pairs.length;i++)
{
var pos=pairs[i].indexOf('=');//查找name=value
if(pos==-1) continue;//如果沒有找到就跳過
var argname=pairs[i].substring(0,pos);//提取name
var value=pairs[i].substring(pos+1);//提取value
args[argname]=unescape(value);//存爲屬性
}
return args;
}
var args = new Object();
args = GetUrlParms();
//如果要查找參數key:
if(args["id"]!=undefined)
{
//如果要查找參數key:
var value1 = args["id"] ;
alert(value1);
}</script>
參考內容:http://www.cnblogs.com/babycool/p/3169058.html
https://msdn.microsoft.com/zh-cn/library/ae5bf541(VS.80).aspx