JS中获取URL的参数的方法

这里,我学习的是使用正则的方法来获得URL的参数

函数的方法如下:

<a href="www.baidu.com">百度</a>
     <script src='http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js'></script>
    <script>
        $.extend({
            getQueryString:function(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 age = $.getQueryString("age");
        alert(age);//13

在这里,window.location.search获得的是地址栏?之后的参数,使用match方法来匹配,获得的是一个数组,数组如下:

然后使用unescape()方法来解析数组的第二个值,就得到了当前参数对应的值。

当我们的参数是中文的时候,这个时候,unescape()方法的用处就体现出来了:demo如下:

     <a id="aa" href="#">跳转到demo6页面</a>
    <script>
        aa.onclick= function(){
            //第一种方法:window.location.href = "demo6.html?age=13&name="+escape('张三');
//第二种方法如下: window.location.href = "demo6.html?age=13&name="+encodeURIComponent('张三'); console.log(encodeURIComponent('张三')); }

demo6的页面:

<a href="www.baidu.com">百度</a>
     <script src='http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js'></script>
    <script>
        $.extend({
            getQueryString:function(name){
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
                var r = window.location.search.substr(1).match(reg);
                //第一种方法:if (r != null) return unescape(r[2]);
                //第二种方法如下:
                if (r != null) return decodeURIComponent(r[2]);
                return null;
            }
        })
        var age = $.getQueryString("name");
        alert(age);
原文地址:https://www.cnblogs.com/xuzhudong/p/7114988.html