Javascript 如何检查某些单词的文本输入更改?

Javascript 如何检查某些单词的文本输入更改?,javascript,html,Javascript,Html,我需要创建一个添加了文本字段的网页。我已经为文本字段设置了一个ID,比如“自定义”。现在,如果文本字段包含某些单词,我想修改网页 例如,如果文本字段包含一个单词,比如苹果,我想做点什么 如果文本字段包含ball,我想做其他事情 等等 我发现: <script> var check=document.getElementById("custom").value == "text_value"; //check will be true or false if (check){ //do

我需要创建一个添加了文本字段的网页。我已经为文本字段设置了一个ID,比如“自定义”。现在,如果文本字段包含某些单词,我想修改网页

例如,如果文本字段包含一个单词,比如苹果,我想做点什么

如果文本字段包含ball,我想做其他事情

等等

我发现:

<script>
var check=document.getElementById("custom").value == "text_value";
//check will be true or false
if (check){ //do something if true}
if(!check){//do something if false}
</script>
我甚至不知道它是否正确,但我意识到,它将无法管理多种情况。因为,如果文本包含apple,它将不包含ball,它将创建wierd行为


那么,如何实现这一点呢?

一个选项是使用一个对象,该对象由要标识的.值索引,其属性值是要为每个值运行的函数,例如:

const objOfFns = {
  apple() {
    console.log('Apple!');
  },
  ball() {
    console.log('Ball!');
    bounceBall();
  }
};

const { value } = document.getElementByid('custom');
const possibleFn = objOfFns[value];
// check hasOwnProperty to avoid accidentally referencing Object.prototype methods
if (possibleFn && objOfFns.hasOwnProperty(value) {
  possibleFn();
}

一个选项是使用由要标识的.value索引的对象,其属性值是要为每个.value运行的函数,例如:

const objOfFns = {
  apple() {
    console.log('Apple!');
  },
  ball() {
    console.log('Ball!');
    bounceBall();
  }
};

const { value } = document.getElementByid('custom');
const possibleFn = objOfFns[value];
// check hasOwnProperty to avoid accidentally referencing Object.prototype methods
if (possibleFn && objOfFns.hasOwnProperty(value) {
  possibleFn();
}
查看下面的香草JavaScript普通JavaScript示例

即,输入blablaapple,您将获得预期结果

功能剂量测定法{ var text=document.getElementByIdmyInput.value; 如果text.includesapple{ logo做一些特别的事情,因为文本包含苹果; } 否则,如果text.includeBall{ logo做一些特殊的事情,因为文本包含ball; } 否则{ console.logtext不包含特殊单词; } } 输入文本:查看下面的香草JavaScript纯JavaScript示例

即,输入blablaapple,您将获得预期结果

功能剂量测定法{ var text=document.getElementByIdmyInput.value; 如果text.includesapple{ logo做一些特别的事情,因为文本包含苹果; } 否则,如果text.includeBall{ logo做一些特殊的事情,因为文本包含ball; } 否则{ console.logtext不包含特殊单词; } } 在keyup事件侦听器上使用jQuery输入文本:,包括函数:

$("#custom").on("keyup", function() {
  if (this.value.includes("apple")) {
    // do something
  }
});
上面的代码将在用户每次按键时检查自定义输入,如果输入字符串包含单词apple,则执行if块

在keyup事件侦听器上使用jQuery并包含以下函数:

$("#custom").on("keyup", function() {
  if (this.value.includes("apple")) {
    // do something
  }
});

上面的代码将在用户每次按键时检查自定义输入,如果输入字符串包含单词apple,则执行if块

您能运行下面的代码段吗

触发器为onkeyup,选择该触发器是为了演示。您可以根据需要进行更改,例如,按下按钮后运行javascript函数watchWords

功能口号 { var watch_words=[‘苹果’、‘柠檬’、‘西瓜’]; var textvalue=document.getElementById'name'。值;
forvar i=0;i您可以运行下面的代码段吗

触发器是onkeyup,选择它是为了演示。您可以根据需要更改它,例如,按下按钮后运行javascript函数

功能口号 { var watch_words=[‘苹果’、‘柠檬’、‘西瓜’]; var textvalue=document.getElementById'name'。值; forvar i=0;i 功能学分-


函数积分-

您尝试了什么?您的代码片段没有意义。document.getElementByIdcustom.value.IncludeText\u值?您尝试了什么?您的代码片段没有意义。document.getElementByIdcustom.value.IncludeText\u值?这一个有效,但是,只有当文本是单词apple时。我的意思是,如果单词apple在一个句子中e、 比如,“我有一个苹果”,这不起作用。嘿@HrishikeshKokate。我更新了我的答案。你的例子我有一个苹果应该起作用。这一个有效,但是,只有当文本中只有苹果这个词的时候。我的意思是,如果苹果这个词在一个句子中,比如“我有一个苹果”,这不起作用。嘿@hrishkokate。我更新了我的答案。你的例子我有一个apple应该有用。@HrishikeshKokate-如果你想让别人将来参考,你可以接受这个答案,谢谢。事实上,几乎所有的答案都是正确的。所以,我不知道哪一个是正确的。接受第一个答案我猜是谁第一次让它起作用的?@HrishikeshKokate-如果你想其他答案,你可以接受这个答案’s future reference,谢谢。事实上,几乎所有的答案都是正确的。所以,我不知道哪一个是正确的?