如何知道字符串中存在的特定单词还是不使用javascript?

时间:2015-10-11 10:35:00

标签: javascript jquery node.js coffeescript reactjs

我制作了存储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>

3 个答案:

答案 0 :(得分:0)

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

如果找不到-1

将返回index

像这样

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 
   }
}

答案 1 :(得分:0)

使用此:

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;

}

答案 2 :(得分:0)

您的代码有语法错误,而且您在进行任何测试后都会立即从函数返回。您可以在找到颜色后立即返回,但如果您找不到颜色,则需要继续检查并且最后只返回失败。

&#13;
&#13;
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;

}
&#13;
<textarea rows="20" cols="50" id="tobechecked">
</textarea>
<button type="button" onclick="getNumber()">Check !</button>
&#13;
&#13;
&#13;