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