js如何获取Url参数?详解js获取URL传递参数的方法

作者:IT技术 | 时间:2018-11-10

我们经常可以看到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参数了吗?