我想在输入值中查找任何匹配数组:
var vals = new Array('stackoverflow', 'google', 'yahoo');
var val = $('#txtAddress').val();
if ($.inArray(val, vals) != -1) {
alert('yep');
} else {
alert('nope');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="txtAddress" type="text" value="google is better" maxlength="100" id="txtAddress">
但它不起作用,我希望在value
中找到任何匹配的array
,例如value
是google is better
和数组是 google
但它不会在此值中找到 google
,仅当值是 google
且数组是 时才有效>谷歌
像这样:
var vals = new Array('stackoverflow', 'google', 'yahoo');
var val = $('#txtAddress').val();
if ($.inArray(val, vals) != -1) {
alert('yep');
} else {
alert('nope');
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="txtAddress" type="text" value="google" maxlength="100" id="txtAddress">
那么,有什么解决方案可以在此值中找到任何匹配数组吗?
更新:我也尝试过这种方式,但也不起作用:
var vals = new Array('stackoverflow','google','yahoo');
var val = $('#txtAddress').val();
for (var i = 0; i < vals.length; i++) {
if (vals[i] === val) {
alert('Value exist');
} else {
alert('Value does not exist');
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="txtAddress" type="text" value="google is better" maxlength="100" id="txtAddress">
我可以提醒匹配的术语吗?
最佳答案
您需要检查输入字符串(子字符串)中是否存在数组的值。为此,您可以使用 indexOf()
。
如果该值不存在,则返回-1
var vals = new Array('stackoverflow', 'google', 'yahoo');
var val = $('#txtAddress').val();
$.each(vals, function(i, a) {
if (val.indexOf(a) > -1) {
alert("found in " + a);
}
});
关于javascript - value 中的任何匹配数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36981300/