我正在尝试从下面的 url 哈希中读取“源”参数和“组”参数。我不知道如何使用正则表达式并继续以空白变量结束。
如何从下面的 url 哈希中读取“源”和“组”参数
console.log(urlObj.hash); // #source-items?source=1002&?group=Menu
var source = urlObj.hash.replace( /.*source=/, "");
我正在尝试从下面的 url 哈希中读取“源”参数和“组”参数。我不知道如何使用正则表达式并继续以空白变量结束。
如何从下面的 url 哈希中读取“源”和“组”参数
console.log(urlObj.hash); // #source-items?source=1002&?group=Menu
var source = urlObj.hash.replace( /.*source=/, "");
尝试
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 中获取查询字符串值的答案的略微修改版本
如果你删除?
之后&
,你可以使用这样的东西:
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