我怎么知道特定的单词存在于字符串或不使用javascript

how can I know that particular words exist in a string or not using javascript?

本文关键字:javascript 字符串 单词 存在 我怎么知道      更新时间:2023-09-26

我创建了一个数组,存储5种不同颜色的名称。例如,如果字符串是"熊是黑色的,极地是白色的"。然后我想显示字符串中有一些颜色名。但是我做不到,因为我只是个初学者。我只懂一些javascript的基础知识。现在我正在开发一个小应用程序,它显示文本中是否有颜色名称。我认为这将是一个很好的学习方式。过去6个小时以来我一直晕头转向,但现在我放弃了。有人能帮忙吗?请原谅我的缩进,因为我写代码很匆忙。

<script type="text/javascript">
	function getNumber(){
		var colors = ["black","blue","green","yellow","white"];
		var getstring = document.getElementById("tobechecked");
        var splitter = getstring.split(" ");
        var i;
        var j;
        for(i=0;i<colors.length;i++){
          for(j=0,j<splitter.length;j++){
            if(splitter[j]==colors[i]){
            alert("colors exists");
            return true;
            }
            else
            {
              alert("colors don't exists");  
              return false;
                 }
          }
        }
		
	}
</script>
<textarea rows="20" cols="50" id="tobechecked">
</textarea>
<button type="button" onclick="getNumber()"> Check !</button>

尝试indexOf检查一个字符串是否存在于另一个字符串

如果没有找到index,它将返回-1

like this

var colors = ["black","blue","green","yellow","white"];
var getstring = document.getElementById("tobechecked");
for(var i=0;i<colors.length;i++)
{
   if(getstring.value.indexOf(colors[i])>-1){
      // exists 
   }
}

使用

function getNumber(){
  var colors = ["black","blue","green","yellow","white"],
      string = document.getElementById("tobechecked").innerText,
      i,length = colors.length;
  for( i=0; i < length; i++ ) {
    if( string.indexOf( colors[i] ) !== -1 ) {
      alert("colors exists");
      return true;
    }
  }
  alert("color doesn't exist");
  return false;
}

你的代码有一个语法错误,加上你从函数返回只要你做任何测试。你可以在找到颜色后立即返回,但是如果你没有找到,你需要继续检查,并且只在最后返回失败。

function getNumber() {
  var colors = ["black", "blue", "green", "yellow", "white"];
  var getstring = document.getElementById("tobechecked").value;
  var splitter = getstring.split(" ");
  var i, j;
  for (i = 0; i < colors.length; i++) {
    for (j = 0; j < splitter.length; j++) {
      console.debug("Compare", splitter[j], colors[i]);
      if (splitter[j] == colors[i]) {
        alert("Color found");
        return true;
      }
    }
  }
  alert("Color not found");
  return false;
}
<textarea rows="20" cols="50" id="tobechecked">
</textarea>
<button type="button" onclick="getNumber()">Check !</button>