繁体   English   中英

使用Javascript检查字符串是否包含HTML中的单词或子字符串

[英]Check if String Contains a word or Substring in HTML using Javascript

我试图获取我的 admin textarea 的值并检查用户的 textarea 是否具有与 admin 值匹配的子字符串或单词,当用户输入 1 个单词并匹配 admin 时,它会说正确,但是当用户输入一个句子时管理中的正确词会说错误而不是正确的,你能帮忙吗

 var a = document.getElementById('admin'); var b = document.getElementById('user'); function sample() { if (a.value.includes(b.value)) { document.getElementById('output').innerHTML = "USER INPUT WITH KEYWORD"; } else { document.getElementById('output').innerHTML = "USER INPUT WITHOUT KEYWORD"; } }
 <textarea id="admin" placeholder="admin"></textarea> <textarea id="user" placeholder="user"></textarea> <textarea id="output"></textarea> <button style="height: 50px; width: 100px;" onclick="sample()"> </buttom>

正如@Chris G 所说,

您的代码正在检查用户值是否在 admin 值内,而不是相反。 而不是ab ,使用描述性变量名称来防止这样的基本错误。

在您的代码中,您正在检查 admin 值是否具有与用户值匹配的子字符串或单词,但在您的问题中,您希望它反过来。 防止这种错误的一种简单方法是仔细检查变量,或者输入更具描述性的名称。 例如,不要使用ab作为变量名,而是使用adminuser
更正的代码:

var a = document.getElementById('admin');
var b = document.getElementById('user');

function sample() {
  if (b.value.includes(a.value)) {
    document.getElementById('output').innerHTML = "USER INPUT WITH KEYWORD";
  } else {
    document.getElementById('output').innerHTML = "USER INPUT WITHOUT KEYWORD";
  }
}

使用更好的实践更正代码:

var admin = document.getElementById('admin');
var user = document.getElementById('user');

function sample() {
  if (user.value.includes(admin.value)) {
    document.getElementById('output').innerHTML = "USER INPUT WITH KEYWORD";
  } else {
    document.getElementById('output').innerHTML = "USER INPUT WITHOUT KEYWORD";
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM