繁体   English   中英

JavaScript电子邮件验证表单不起作用

[英]JavaScript email validation form not working

我已经开始在w3Schools上学习JavaScript了。 我试图执行该站点中给出的一个示例。 出于某种原因,我无法使其发挥作用。 希望这不是重复的问题。 我没有得到警报信息。 如果有任何错误,请告诉我,因为这是我学习过程的第一步。

编辑:我更正了代码。 谢谢您的帮助。 如上所述,我忘了关闭if块。 希望不会再进一步​​投票。

编辑代码:

JS

function validate() {
  //A simple mail validation function. Checks only period and '@'.
  var email = document.forms['loginForm']['email'].value;
  var period = email.lastIndexOf('.');
  var atPosition= email.indexOf('@');
  if (period < 1 || period + 2 > email.length || atPosition!= email.lastIndexOf('@')) {
    alert('Please enter a valid email address');
    return false;
  }
}

HTML

<form action='verify.do' id="loginForm" method='post' name='loginForm'
onsubmit='return validate()'>
    E-Mail: <input autofocus="" name='email' type='text'><br>
    <input type='submit' value='Submit'>
</form>

你忘了关闭)位置:

if (period < 1 || period + 2 > email.length || period != email.lastIndexOf('@') {

相反,它应该是:

if (period < 1 || period + 2 > email.length || period != email.lastIndexOf('@')) {

此外,您应该添加服务器端验证,因为这很容易被绕过。

另外,作为旁注,警报中有太多字母s

alert('Please enter a valid email addresss'); => alert('Please enter a valid email address');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM