我需要你的帮助,
给出以下带有反斜杠的查询字符串:
"G:\\AS\\Asf\\ASF\\IMTS\\V11\\IMTS.hta?report=true&type=note"
如何解析报告的值并输入?
示例:
GetUrlParam('report') returns true
GetUrlParam('type') returns note
答案 0 :(得分:0)
var str = "G:\\AS\\Asf\\ASF\\IMTS\\V11\\IMTS.hta?report=true&type=note";
function getUrlParam(param){
var rg = new RegExp(param + "=(\\w+)"),
res = str.match(rg)[1];
console.log(res);
}
getUrlParam('report');
getUrlParam('type');

答案 1 :(得分:0)
这个正则表达式(?<=[\?&])([^=]+)=([^&]+)
怎么样?第一个匹配组是参数,第二个匹配组是值。
根据您的示例,匹配组为:
匹配1
report=true
第1组report
第2组true
第2场比赛
type=note
第1组type
第2组note
答案 2 :(得分:0)
我已经修改了在stackoverflow上发现的answer并且已经提出了这个问题:
var url = "G:\\AS\\Asf\\ASF\\IMTS\\V11\\IMTS.hta?report=true&type=note"
var vars = {}, hash;
var hashes = url.slice(url.indexOf('?') + 1).split('&'); // starts query string after index of ? and splits query string based on &
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('='); // creates new array on each iteration (property and key)
vars[hash[0]] = hash[1]; // add key value pair to object
}
console.log(vars);
function GetUrlParams(key) {
if (typeof vars[key] !== 'undefined') {
return vars[key];
}
}
console.log(GetUrlParams('report'));
console.log(GetUrlParams('type'));
&#13;