使用jquery获取url以及使用jquery获取url参数是我们经常要用到的操作
1、jquery获取url很简单,代码如下:
1
|
window.location.href;
|
其实只是用到了javascript的基础的window对象,并没有用jquery的知识。
2、jquery获取url参数比较复杂,要用到正则表达式,所以学好javascript正则式多么重要的事情
首先看看单纯的通过javascript是如何来获取url中的某个参数:
1
2
3
4
5
6
|
//获取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()方法
1
2
3
4
5
6
7
|
(
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'
);
|
完整代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
<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>
|