刘明野的博客
js获取url中的参数 优化#号问题
  • 2018年07月11日
  • 干货分享
  • 2 评论
  • 66 汉字
  • 14 热度

先看一下我在网上找的JS

function getUrlParam(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
  var r = window.location.search.substr(1).match(reg); //匹配目标参数
  if (r != null) return decodeURIComponent(r[2]); return null; //返回参数值
}

很完美的获取到了name参数

可是遇到#号就蒙了

以下是优化后的

javascript代码

function getUrlParam(name) {
    var after = location.hash.split("?")[1] || location.search.split("?")[1];
    if (after) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = after.match(reg);
        if (r != null) {
            return decodeURIComponent(r[2]);
        } else {
            return null;
        }
    }
}

本文由 刘明野 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: 2018-07-11 19:35:26