我正在尝试从表单序列化字符串中提取用户 ID,这是迄今为止我所拥有的。
采取
var dataString = "viewUsers_length=10&id%5B%5D=8163&id%5B%5D=8188&id%5B%5D=8141"
作为示例字符串。
我将它分成这样的数组
var arrStr = dataString.split(/[=&]/);
结果是一个数组
[0]viewUsers_length
[1]10
[2]id%5B%5D
[3]8163
[4]id%5B%5D
[5]8188
[6]id%5B%5D
[7]8141
但我只想要 ids (8163, 8188, 8141)
实际上,这个字符串可能包含数千个这种格式的 ID。到目前为止,我已经花了一些时间进行谷歌搜索,但还没有找到任何我认为可行的东西。
最佳答案
不幸的是,由于 ids 的参数名称都相同,解析查询字符串的常规方法可能不可行。所以,这可能是正则表达式的工作!
var dataString = "viewUsers_length=10&id%5B%5D=8163&id%5B%5D=8188&id%5B%5D=8141";
var regex = /&id%5B%5D=(\d+)/g;
var match;
var matches = [];
while (match = regex.exec(dataString)) {
matches.push(match[1]);
}
console.log(matches)
var list = matches.join(', ');
document.getElementById('output').innerHTML = list;
<div id="output"></div>
关于javascript - 使用 javascript 从数组中选择某些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35778074/