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。 –