我有一个输入,我想知道数组中是否存在任何值。举个简单的例子,我的数组是
var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
我已经弄清楚如何触发它,例如,如果我简单地输入“sun”,但我想知道“hhsun”或“sunee”是否也存在。
$('input').keyup(function() {
var _val = $(this).val();
$('p').text(_val);
var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
if (_array.indexOf(_val) != -1) {
$('span').text('it worked');
} else {
$('span').text(_array.indexOf(_val));
}
});
最佳答案
检查 _array
的元素是否是文本框文本的子字符串:
var _array = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"];
for (var i = 0; i < _array.length; i++) {
if (_val.indexOf(_array[i]) != -1) {
$('span').text('it worked');
return;
}
}
$('span').text('nothing');
演示:http://jsfiddle.net/WLacb/3/
<小时/>一个稍微晦涩的解决方案是使用正则表达式:
if (/sun|mon|tue|wed|thu|fri|sat/ig.test(_val)) {
$('span').text('it worked');
} else {
$('span').text('nothing');
}
关于javascript - 如果输入包含数组中的任何单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965183/