封装一个提取url参数的小方法

来源:互联网 发布:软件测试教程学习 编辑:程序博客网 时间:2024/06/05 16:49

假如当你需要从这样一个http://www.loushengyue.com/test.html?id=8&name=loushengyue&age=18&sex=man#box URL中提取相关参数(比如:id,name)时,是不是想到用正则法split(/\?|\&/g) 分割url的方式提取,然后版本更新需要增加参数时,也许你会很苦恼,因为bug来了,为了尽可能的减少bug,我们不妨来封装一个提取url参数的小方法,js代码如下:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Title</title></head><body><h3>hello world!</h3><a href="test.html?id=8&name=loushengyue&age=18&sex=man#box">please click me, and see console(点击我并查看控制台console结果)</a><script>    console.log(Params());    function Params() {        var result = {};        var arr = location.search.replace(/^\?/, '').split(/\&/g);        result.docName = location.pathname.match(/\/([a-zA-Z_]+)\.html$/)[1];        result.hash = location.hash.replace(/^\#/, '');        for (var i = 0, n = arr.length; i < n; i++) {            var key = arr[i].split(/\=/)[0];            result[key] = arr[i].split(/\=/)[1];        }        return result;    }</script></body></html>

内有小bug,看不懂的话,说明您该学学正则表达式了!

最后,你开心就好,谢谢点赞哦!!!

原创粉丝点击