我有一些词,当用户输入时,需要提醒用户。
现在,当我输入某一行时,I love ants
它会提醒我整行I love ants
,但我只想提醒ants
。 (在我的例子中,蚂蚁是一个需要过滤的词。请参阅jsfiddle。)
var filter = ['ants', 'words'],
reg = new RegExp("(" + filter.join("|") + ")", "g");
$('#texta').keyup(function(){
$("#dest").html(
$(this).val().replace(reg, "<mark>$1</mark>")
);
if(reg.test($(this).val())==true)
{
alert($(this).val());
}
});
答案 0 :(得分:2)
您可以将其更改为仅显示匹配的部分:
alert($(this).val().match(reg));
这是jsFiddle。
如果您想为每个匹配单独发出警报,则必须循环播放。
每次用户在列表中输入单词时,编辑 Here's a version会发出警报。
编辑:和here's a version演示了可选地使用正则表达式而不是单词。请注意,任何斜杠都必须双重转义。因此,例如,要匹配ants
而不是pants
,请将\\bants\\b
添加到单词列表中。例如,此演示将与\bb..\b
匹配(因此,bar
,baz
等,而不是batters
)。