【问题标题】:JavaScript for Form Validation For Multiple User Inputs用于多个用户输入的表单验证的 JavaScript
【发布时间】:2021-10-18 07:22:14
【问题描述】:

我有一个 JavaScript,其功能是确保用户在我的表单上提供的电子邮件地址在我的表单提交之前与我的 JavaScript 中的结果(电子邮件地址)匹配。

(自动回复)我使用这个 JavaScript 是因为我设计了我的表单,以便将每个用户的回复副本发送到他们的电子邮件地址。

我拥有的 JavaScript 只能验证一个用户的输入,这意味着我必须为每个用户创建一个单独的表单,并放置包含每个用户电子邮件地址的 JavaScript。

如何在我的表单提交之前仅在一个表单上使用一个 JavaScript 来验证多个用户的电子邮件地址?

下面是我的单个表单代码的单个 JavaScript;

<script type="text/javascript">
function check_email()
{
    var email = document.getElementById("email").value;
    
    if(email.localeCompare("badmansmo@gmail.com")) {
        alert("ERROR. Email does not match.");
        return false;
    }
    return true;
}
 <form action='' method='POST' enctype="multipart/form-data" onsubmit="return check_email();">
    <div class='item'>
          
          <p><b><span style="color: red;">Email Address</span></b><span class='required'>*</span></p>
         
            <input type="email" name="email" placeholder="ba******o@***.com" required='' id="email"/>
           
       </div>
<div class='question'>
          <center><p>Privacy Policy<span class='required'>*</span></p></center>
          <div class='question-answer checkbox-item'>
            <div>
              
              <center><label class='check' for='check_1'><span>By submitting this form you agree to the terms of service <a href='https://www.google.com/p/privacy-policy.html' target="_blank">privacy policy.</a></span></label></center>
            </div>
          </div>
        </div>
        <div class='btn-block'>
         <center> <button href='/' type='submit' id="submitForm">Submit</button></center>
      
      </div></form>

以下是我尝试过但不起作用的 JavaScript 示例;

<script type="text/javascript">
function check_email()
{
    var email = document.getElementById("email").value;
    
    if(email.localeCompare == "badmansmo@gmail.com" || email.localeCompare == "billysam@gmail.com")) {
      
        alert("ATTENTION! \nThe email address that you provided did not match with the email that is associated with your account.");
        return false;
    }
    return true;
}
    
          

【问题讨论】:

  • 当用户提交您的表单时,您应该检查您的数据库是否存在该电子邮件。你这样做的方式根本不正确,因为这是任何用户都可以使用浏览器开发工具看到的客户端代码。
  • 我仍然需要解决方案。我知道任何人都可以使用浏览器开发工具看到。
  • 然后只需创建一个您要验证的电子邮件地址数组,并检查用户输入的电子邮件是否在该数组中。
  • 这就是我正在寻找的解决方案。如果您认真地回答了我的问题,您会看到我在问如何创建一个我想要验证的电子邮件地址数组,并检查用户输入的电子邮件是否在该数组中。

标签: javascript forms validation


【解决方案1】:

你可以这样做:

const EMAIL_LIST = ["badmansmo@gmail.com", "billysam@gmail.com"];

function check_email() {
  const email = document.getElementById("email").value;

  if (!EMAIL_LIST.includes(email)) {
    alert(
      "ATTENTION! \nThe email address that you provided did not match with the email that is associated with your account."
    );
    return false;
  }

  return true;
}

【讨论】:

    猜你喜欢
    • 2015-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    相关资源
    最近更新 更多