简体   繁体   English

我如何检查字符串是否包含数组的元素

[英]How could i check if a string contains an element of an array

I have a textarea, and I need to check if this textarea.value contains a string from a string array. 我有一个textarea,我需要检查此textarea.value是否包含来自字符串数组的字符串。 Every onkeyup in textarea I call this script. 我在textarea中的每个onkeyup都称为此脚本。 I tried this code, but something went wrong. 我尝试了这段代码,但是出了点问题。 "@" is ok, but "apple" and "orange" is not. “ @”可以,但是“ apple”和“ orange”则不能。 Please help me! 请帮我! Thanks! 谢谢!

var str = document.getElementById("messageArea").value;

var arr = ["@", "apple", "orange"];

for (var i = arr.length - 1; i >= 0; --i) {
    if (str.indexOf(arr[i]) != -1) {
      alert('contains');
   } else {
        alert('not contains');
    }
}

Break the loop when the message contains the substring. 当消息包含子字符串时,请Break循环。

 $("#messageArea").on("keyup",function(e){ var str = document.getElementById("messageArea").value; var arr = ["@", "apple", "orange"]; for (var i = arr.length - 1; i >= 0; --i) { if (str.indexOf(arr[i]) != -1) { $('#messageBtn').prop('disabled',false); break; } else { $('#messageBtn').prop('disabled',true); } } }); 
 <!DOCTYPE html> <html> <head> <script src="https://code.jquery.com/jquery-1.11.3.js"></script> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>JS Bin</title> </head> <body> <textarea type="text" id="messageArea"></textarea> <button disabled id="messageBtn">submit</button> </body> </html> 

var str = "@ apple orange"; //document.getElementById("messageArea").value;

var arr = ["@", "apple", "orange"];


str = str.trim();

var parts = str.split(" "); // split textarea string by space into another array

for (var part in  parts) { // iterate one every part and check it with your arr variable
  if ( arr.indexOf(parts[part]) != -1 ) {
    alert("found: " + parts[part] );
  } else {
    alert("not contains " + parts[part]);
  }
}

you will get alerts for all 3 elements in the str variable. 您将获得str变量中所有3个元素的警报。

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

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