我有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
等,但不是 击球手
).
关于javascript - 使用 Jquery 提醒过滤词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22292337/