我用 javascript 编写了一个实时过滤器,它从字段中获取一个值并隐藏表中不匹配的行。
我使用的正则表达式非常简单:/inputValue/i
虽然这很好用,但它只匹配有序的字符。例如:
inputValue = test
string to match = this is a test sentence
这个例子会匹配,但如果我尝试:
inputValue = this sentence
string to match = this is a test sentence
这将不匹配,因为输入值乱序。
我将如何编写一个有序但可以跳过单词的 RegEx?
这是我目前使用的循环:
for (var i=0; i < liveFilterDataArray.length; i++) {
var comparisonString = liveFilterDataArray[i],
comparisonString = comparisonString.replace(/['";:,.\/?\\-]/g, '');
RE = eval("/" + liveFilterValue + "/i");
if (comparisonString.match(RE)) {
rowsToShow.push(currentRow);
}
if(currentRow < liveFilterGridRows.length - 1) {
currentRow++;
} else {
currentRow = 0;
}
}
非常感谢您的时间。
克里斯