Javascript-我的表单验证有问题

Javascript-我的表单验证有问题,javascript,forms,email,email-validation,Javascript,Forms,Email,Email Validation,我的php表单发送电子邮件的验证脚本有问题,虽然验证表单效果很好,但当用户单击警报的“接受”按钮时,脚本不会阻止操作,表单仍然会发送 我做错了什么 提前谢谢 HTML: 将事件更改为onsubmit并将其放在表单上 功能验证{ var电子邮件; email=document.getElementByIdemail.value; expresion=/\w++\w++.++\w/; 如果电子邮件==={ alertYou无法提交此请求。您必须给我们发送电子邮件; 返回false; } 如果电子邮

我的php表单发送电子邮件的验证脚本有问题,虽然验证表单效果很好,但当用户单击警报的“接受”按钮时,脚本不会阻止操作,表单仍然会发送

我做错了什么

提前谢谢

HTML:


将事件更改为onsubmit并将其放在表单上

功能验证{ var电子邮件; email=document.getElementByIdemail.value; expresion=/\w++\w++.++\w/; 如果电子邮件==={ alertYou无法提交此请求。您必须给我们发送电子邮件; 返回false; } 如果电子邮件长度>50,则为其他{ 警报电子邮件的最大长度为50个字符; 返回false; } 否则,如果!expresion.testemail{ alertCheck您的信息。电子邮件格式无效; 返回false; } console.log'passed!'; }
警报将冻结JS引擎。最好在某种程度上包括这一点modal@karthick但在其他情况下,使用访客浏览器的本机警报对我来说非常有效。现在我不知道为什么它不起作用。在Opera、Firefox和Chrome中测试
<div id="form">
 <section>
  <form action="send.php" method="post" accept-charset='UTF-8'>
  <label for="email"></label>
  <input id="email" type="email" name="email" maxlength="50">
  <input type="hidden" name="privacy" value="blahblahblah"/>

  <input id="submit" type="submit" name="submit" value="SEND" onclick="validate(this);">

  </div>
  </form>
 </section>
</div>
function validate () {
    var email;
    email = document.getElementById("email").value;
    expresion = /\w+@\w+\.+\w/;

if(email === "") {
    alert("You cannot submit this request. You must give us an email");
    return false;
    }

else if (email.length>50) {
    alert("The maximum for email is 50 characters");
    return false;
    }

else if (!expresion.test(email)) {
    alert("Check your information. The email format is not valid");
    return false;
    }
}