我有一个textarea,我需要检查这个textarea.value是否包含字符串数组中的字符串。 textarea中的每个onkeyup都称之为脚本。 我试过这个代码,但出了点问题。 “@”没关系,但“苹果”和“橙色”不是。请帮我!谢谢!
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');
}
}
答案 0 :(得分:1)
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>
&#13;
答案 1 :(得分:0)
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个元素的警报。