这篇文章主要介绍了js获取url传值的方法,实例分析了字符串分割与正则分析两种方法,并补充了一个基于正则匹配实现的js获取url的get传值函数,需要的朋友可以参考下
js获取url参数值:
index.htm?参数1=数值1&参数2=数值2&参数3=数据3&参数4=数值4&......
静态html文件js读取url参数 根据获取html的参数值控制html页面输出
一、字符串分割分析法
这里是一个获取URL带QUESTRING参数的JAVASCRIPT客户端解决方案,相当于asp的request.querystring,PHP的$_GET
函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<Script language= "javascript" >
function GetRequest() {
var url = location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf( "?" ) != -1) {
var str = url.substr(1);
strs = str.split( "&" );
for ( var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split( "=" )[0]]=unescape(strs[i].split( "=" )[1]);
} } return theRequest;
} </Script> |
然后我们通过调用此函数获取对应参数值:
1
2
3
4
5
6
7
8
9
|
<Script language= "javascript" >
var Request = new Object();
Request = GetRequest(); var 参数1,参数2,参数3,参数N;
参数1 = Request[ '参数1' ];
参数2 = Request[ '参数2' ];
参数3 = Request[ '参数3' ];
参数N = Request[ '参数N' ];
</Script> |
以此获取url串中所带的同名参数
二、正则分析法
1
2
3
4
5
6
7
8
|
function GetQueryString(name) {
var reg = new RegExp( "(^|&)" + name + "=([^&]*)(&|$)" , "i" );
var r = window.location.search.substr(1).match(reg);
if (r!= null ) return unescape(r[2]); return null ;
} alert(GetQueryString( "参数名1" ));
alert(GetQueryString( "参数名2" ));
alert(GetQueryString( "参数名3" ));
|
补充:js 获取url的get传值函数
1
2
3
4
5
6
|
function getvl(name) {
var reg = new RegExp( "(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)" , "i" );
if (reg.test(location.href))
return unescape(RegExp.$2.replace(/\+/g, " " ));
return "" ;
}; |