1
我已经阵列的Javascript正则表达式匹配在逗号的元件分隔的列表
var myArray = [
{
"field1":"Value 1",
"IDs":""
},
{
"field1":"Value 2",
"IDs":"123"
},
{
"field1":"Value 3",
"IDs":"1233; 222"
}
];
而且对抗
var filterID = 123;
筛选记录在阵列的变量,这些ID可以是空的或有一个值或用分号分隔的多个值。结果应该始终返回所有空白ID加上所有匹配的ID。所以: filterID = 123应该返回'值1'和'值2',但不是'值3'。
很显然,我不能检查每个ID是否包含字符串比较的fitlerID,因为它也应该返回'值3'。 '1233'包含'123'。
一种方法是拆分每个ID字符串并删除分号并对每一位进行比较。
但是,我想知道是否有更简单的方法来检查使用正则表达式?
ie什么正则表达式将返回数组的元素,其中id是空白或123作为分号分隔列表中的值之一?
你为什么要检查空字符串? '\ b123 \ b'应该完成这项工作 – MaxZoom
@MaxZoom从问题:“结果应该总是返回所有空白ID加上所有匹配的。” –
谢谢@EdCottrell。我怎么会写在JS中?我试过 \t'str =“1233; 222”; \t var test = str.match(/ \ b123 \ b |^$ /); \t console.log(test);' 返回undefined。 –