0

我正在尝试从下面的 url 哈希中读取“源”参数和“组”参数。我不知道如何使用正则表达式并继续以空白变量结束。

如何从下面的 url 哈希中读取“源”和“组”参数

    console.log(urlObj.hash); // #source-items?source=1002&?group=Menu
    var source = urlObj.hash.replace( /.*source=/, "");
4

2 回答 2

0

尝试

function getParameterByName(urlString, name)
{
  name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
  var regexS = "[\\?&]" + name + "=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(urlString);
  if(results == null)
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

并通过调用它getParameterByName(urlObj.hash, "source");

更新:这是在 JavaScript 中获取查询字符串值的答案的略微修改版本

于 2012-07-20T10:21:23.633 回答
0

如果你删除?之后&,你可以使用这样的东西:

function parseParams() {
    var params = window.location.hash.split('?')[1].split('&').map(function(item) {
        return item.split('=');
    });
    var namedparams = {};

    for (i=-1; param = params[++i]; ) {
        namedparams[param[0]] = param[1];
    }

    return namedparams;
}

这是您使用此功能的方式:

var params = parseParams();
params.group; // the group parameter
params.source; // the source parameter
于 2012-07-20T10:25:36.157 回答