javascript - 在返回 true 之前检查输入值是否与数组中的任何值匹配

标签 javascript

我正在尝试使用 JavaScript 验证表单。在返回 true 之前检查输入值是否与数组中的任何值匹配。

这是我迄今为止所写内容的示例。但这似乎行不通。

<script type='text/javascript'>

function checkForm() 
{ 

var agent = document.getElementById('agent').value;

var myArray = new Array() 
  myArray[0] = 'First Agent';
  myArray[1] = 'Second Agent';
  myArray[2] = 'Third Agent';

if (agent != myArray) 
{
  alert("Invalid Agent");
  return false;
} 

else 
{
  return true;
}
}

<form>
<fieldset>
Agents Name*
<input type="text" size="20" name="agent" id="agent">
</fieldset>
</form>

最佳答案

您需要创建一个 for 结构来传递整个数组,当值匹配时返回 true,否则返回 false。像这样的事情:

for (var i = 0; i < myArray.length; i++) {
    if (agent == myArray[i])
        return true;
}
return false;

关于javascript - 在返回 true 之前检查输入值是否与数组中的任何值匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16821578/

相关文章:

javascript - 在 Bootstrap 3 按钮下拉菜单中添加滑动功能的问题

javascript - 如何使用 javascript 获取 "fixed"定位元素的包含 block ?

javascript - location.href 正在解码 URL

javascript - jQuery 自动完成建议列表不会在悬停时更改背景颜色

javascript - DOM 事件优先级

javascript - vue模板 mustache 标签中的动态参数

javascript - New Relic 无法完全使用 turbolinks 在 Rails 4 应用程序上运行

javascript - React Native/Redux - setState - 在现有状态转换期间无法更新

javascript - 仅在需要时拉伸(stretch)图像最多 20%

javascript - 如何在 if 条件下检查变量是否相等?