[英]How to check if a string contains a certain element from an array, but not the other elements
[英]How could i check if a string contains an element of an array
我有一個textarea,我需要檢查此textarea.value是否包含來自字符串數組的字符串。 我在textarea中的每個onkeyup都稱為此腳本。 我嘗試了這段代碼,但是出了點問題。 “ @”可以,但是“ apple”和“ orange”則不能。 請幫我! 謝謝!
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
循環。
$("#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]);
}
}
您將獲得str變量中所有3個元素的警報。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.