在Javascript中检测具有时间间隔的第一人称写入

在Javascript中检测具有时间间隔的第一人称写入,javascript,forms,parsing,dom-events,Javascript,Forms,Parsing,Dom Events,我正在寻找一种方法,当用户键入“We”、“us”、“our”和其他几个代词时,检测第一人称书写,但不直接使用keyup事件,而是在文本区域或文本字段中键入时,以五秒钟的间隔 我尝试了keyup事件,但无法检测并解析代词以显示警告div,该警告div显示字段是否包含这些代词或文本。您可以使用正则表达式模式,下面是一个示例 const-element=document.getElementById('element'); warn=document.getElementById(“警告”) 模式=

我正在寻找一种方法,当用户键入“We”、“us”、“our”和其他几个代词时,检测第一人称书写,但不直接使用keyup事件,而是在文本区域或文本字段中键入时,以五秒钟的间隔


我尝试了keyup事件,但无法检测并解析代词以显示警告div,该警告div显示字段是否包含这些代词或文本。

您可以使用正则表达式模式,下面是一个示例

const-element=document.getElementById('element');
warn=document.getElementById(“警告”)
模式=/\b(我们|我们|我们的)\b/g
元素。addEventListener(“输入”,函数(){
if(模式测试(该值)){
warn.textContent=“警告”
}
否则返回
})

文本区域添加一个输入事件侦听器,并使用
设置超时()
,添加5秒的超时时间。调用
setTimeout()
之前,请检查是否已设置任何超时。如果有,请清除该计时器并添加一个新计时器

要检查
文本区域中的特定单词,请使用正则表达式

const textarea=document.querySelector('textarea');
const regex=/\b(?:we | us | our)\b/gi;
让时光流逝;
textarea.addEventListener('input',(event)=>{
if(timerID){
清除超时(timerID);
}
timerID=setTimeout(()=>{
if(正则表达式测试(textarea.value)){
console.log('warning…');
}
}, 5000);
});

您有一些您尝试过的方法的代码示例吗?谢谢,@Sven.hig。它几乎可以正常工作。我将调整正则表达式,使其不区分大小写。我在代码中弄乱的部分是计时器和一点正则表达式。现在一切都有意义了。再次感谢你的帮助!谢谢@Yousaf。我将从您的回复中选取计时器部分,并感谢您的帮助。