我只想搜索字符串的特定部分,只使用JS或Jquery显示它。
例如,(它看起来像JSON,但它不是,它只是括号中的一些东西;)):
var t = 't';
var four = '4';
eval('var ' + (t + four) + ' = "some value";');
console.log(t4);
// returns "some value" to the console
我只想提取身份证号码:
下面的“代码”不是一种语言,它只是帮助理解我想在JS / jQuery上做什么的一个例子
var IDs = [searchThrough] data [where where]“id”:[getContent] after:and before,or} alert(“IDs:”+ IDs);
它允许我:
1 - 在var data =
[{"name":"node1","id":1,"is_open":true,"children":
[
{"name":"child2","id":3},
{"name":"child1","id":2}
]
}];
上的字符串find "id":
设置我想要的参数。
2 - 设置获取内容data
我该怎么做?
提前致谢。
“把我当作Scotty!”
答案 0 :(得分:1)
如果我理解你,你想搜索代表数据的String。在这种情况下,您可以使用如下的正则表达式:
var matcher = /"id":([^,\}]*/g, // capture all characters between "id" and , or }
match, IDs = [];
while (match = matcher.exec(data)) {
IDs.push(match[1]);
}
alert(IDs);
答案 1 :(得分:1)
我不是正则表达的大师,但这是我的尝试。
var data = '[{"name":"node1","id":1,"is_open":true,"children":[{"name":"child2","id":3},{"name":"child1","id":2}]}]';
var arrays=[];
var t1=data.match(/"id":[0-9]+(,|})*/g);
for(var x=0;x<t1.length;x++)
{
arrays.push(t1[x].match(/\d+/));
}
alert(arrays);
答案 2 :(得分:1)
如果我们假设您正在处理字符串,我们可以使用正则表达式提取数据:
var str = '[{"name":"node1","id":1,"is_open":true,"children":\n [\n {"name":"child2","id":3},\n {"name":"child1","id":2}\n ]\n }];';
var regex = /"id":([0-9]*)/g;
var match = regex.exec(str);
var res = new Array();
while (match != null) {
res.push(match[1]);
match = regex.exec(str);
}
var ids = res.join();
alert("IDs: " + ids);
此演示将为您提供一个警告框,其内容为“ID:1,3,2”