获取url路径中的参数

2018-06-24 01:59:08来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

 

简介

运用js的时候,我们有时可能会有这样的需求,就是想要获取浏览器地址栏指定的一项参数,形如:https://i.cnblogs.com/EditPosts.aspx?postid=8628413&update=1,

你想要获取postid的内容8628413或者update的内容1那么下面就提供解决办法。

解决办法

其实解决办法也挺简单,只要通过一个函数就可以处理掉

 

        //当前url地址栏 file:///C:/Users/admin/Desktop/test.html?id=2
        function GetQueryString(name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
            console.log(window.location.search)//?id=2
            var r = window.location.search.substr(1).match(reg);
            if (r != null) return unescape(r[2]);
            return null;
        }
        console.log(GetQueryString('id'))//2    

上面函数的用法很简单,只要把你想要的url参数传进去就可以拿到返回值,注意参数为字符串

发散思维

上面的函数是直接解决了获取当前页面url中的参数,有事我们可能不是想要处理url,而是想要获取特定字符串中的参数,形如:postid=8628413&update=1

然后你想要获取postid的对应的值那么要怎么做呢?

只需要理解下上面函数的原理就很好改写了

 

        function GetQueryString(str,name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");     
            //str = postid=8628413&update=1                   
            //其实str 就相当于 window.location.search.substr(1)
            var r = str.match(reg);
            if (r != null) return unescape(r[2]);
            return null;
        }
        console.log(GetQueryString('postid=8628413&update=1','postid'))

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:js或jQuery中 邮箱跳转的问题,跳转到指定邮箱(通过layui的ifra

下一篇:Angular 和 Vue 使用的对比总结 -- 脚手架