我有 this jsfiddle 。
我有一些词,当用户输入它们时,需要提醒用户。
现在,当我输入某行时,例如 I love ants
它会提醒我整行 I love ants
,但我只想提醒我 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());
}
});
最佳答案
您可以使用以下命令将其更改为仅显示匹配的部分:
alert($(this).val().match(reg));
这是一个 jsFiddle 。
如果您想为每场比赛单独发出警报,则必须进行循环。
编辑: Here's a version 每次用户在列表中键入一个单词时都会发出警报。
编辑: 和 here's a version 演示了可选使用正则表达式而不是单词。请注意,任何斜杠都必须进行双重转义。因此,例如,要匹配
ants
但不匹配 pants
,请将 \\bants\\b
添加到单词列表中。例如,此演示将匹配 \bb..\b
(因此, bar
、 baz
等,但不匹配 batters
)。