我们经常可以看到url的?(问号)后面带了很多的参数,那么js如何获取url传递的这些参数呢?下面我们详细讲解一下。
1,通过正则表达式实现
在获取参数的页面引入下面一段js
- 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;
- }
然后就可以这样调用了:
- var 参数1=GetQueryString("参数名1");
- var 参数2=GetQueryString("参数名2");
2,通过封装的js函数方法
在获取参数的页面放入这样一个js函数。
- function GetRequest() {
- var url = location.search; //获取url中"?"符后的字串
- var theRequest = new Object();
- if (url.indexOf("?") != -1) {
- var str = url.substr(1);
- if (str.indexOf("&") != -1) {
- strs = str.split("&");
- for (var i = 0; i < strs.length; i++) {
- theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
- }
- } else {
- theRequest[str.split("=")[0]] = unescape(str.split("=")[1]);
- }
- }
- return theRequest;
- }
引入后直接就可以通过函数来获取参数值了。
获取方法如下:
- <script type="text/javascript">
- var Request = new Object();
- Request = GetRequest();
- var a1 = Request['参数1'];
- </script>
通过上面讲述的两种js如何获取Url参数的方法,你学会怎么在Html页面中,通过Js来获取url参数了吗?