js获取url中的参数 优化#号问题

2018/07/11 · 干货 · 1968次阅读

先看一下我在网上找的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;
        }
    }
}

喝杯水

标签:JSurl参数

最后编辑于:2019/04/24 22:57

添加新评论

  1. 2018-09-11 14:35
    过来学习下
    回复
  2. 2018-08-28 15:52
    财神进家门,好运进家门,有许多人会在新年时,祈求新的一年能赚大钱
    回复