【问题标题】:Javascript how to accept multiple string inputs and check to see if it matches?Javascript如何接受多个字符串输入并检查它是否匹配?
【发布时间】:2015-10-11 13:56:43
【问题描述】:

我正在制作一个游戏,其中图像显示在输入表单上方,用户必须正确识别图像中的人。这是我的表单和 Javascript

<form method="POST" action="form-handler" onsubmit="return checkForm(this);">
     <p>Input: <input type="text" size="32" name="inputfield"><input type="submit"></p>
</form>

 function checkForm(form)
  {
    if(form.inputfield.value == "") {
      alert("Error: Input is empty!");
      form.inputfield.focus();
      return false;
    }
    var re = /^[\w]+$/;

    if(!re.test(form.inputfield.value)) {
      alert("Error: Input contains invalid characters!");
      form.inputfield.focus();
      return false;
    }
    return true;
  }

我完全坚持我会在 Javascript 中做什么。我想这样做,以便有人可以输入多个不同的答案,包括仅名字、仅姓氏、昵称等……如果输入了正确的名称版本,它将转到下一个图像。如果提交的答案与图像不匹配,它将在表单下方显示“错误答案”。我需要什么才能让显示框不会弹出说答案是正确的,而是会转到下一张图片?

【问题讨论】:

  • function checkForm(form) { // 如果输入为空,则验证失败 if(form.inputfield.value == "") { alert("Error: Input is empty!"); form.inputfield.focus();返回假; } // 正则表达式只匹配字母数字字符和空格 var re = /^[\w]+$/; // 如果输入与我们的正则表达式不匹配,则验证失败 if(!re.test(form.inputfield.value)) { alert("Error: Input contains invalid characters!"); form.inputfield.focus();返回假; } // 验证成功 return true; }
  • 将其添加到您的问题中

标签: javascript html arrays string forms


【解决方案1】:

在您的正则表达式中,您正在测试所提供的输入是否以一个或多个 [a-zA-Z0-9] 的出现开始和结束...

您可能需要检查:/(\w+)/i,这意味着任何单词和大小写不敏感(没有空格,ecc...)

但如果您在白名单上进行测试……您可能需要执行以下操作:

function isNapoleone(value) {
   var TRUE_IMAGENAME = 'Napoleone Bonaparte';
   return (TRUE_IMAGENAME.indexOf(value) > -1);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-03
    • 2018-10-02
    • 1970-01-01
    相关资源
    最近更新 更多