如何在 Javascript 中正确验证电子邮件和密码

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/16313741/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-27 04:10:53  来源:igfitidea点击:

How to validate email and password correctly in Javascript

javascripthtmlregex

提问by Helen Baade

in my HTML code i have this

在我的 HTML 代码中,我有这个

<form name="login">
    <p> Email Address <input type="text" name="EmailAddress"> Password <input type="password" name="pword">
    <input type="button" value="Submit" onclick="ValidateUser()"></button> </p>

and in my javascript code i have this

在我的 javascript 代码中,我有这个

function ValidateUser() {
   var pword= new RegExp (/^[a-zA-Z0-9]{4,100}$/)
   if (pword.test(password)) { 
      return true
   }
   else {
      alert("Incorrect Password or Username")
   }
   var email= new RegExp (/^[A-Za-z0-9_.]{2,100}+@[A-Za-z0-9.-]{2,100}+\.[A-Za-z]{2,100}$/)
   if (email.test(EmailAddress)) {
      return true
   }
   else {
      alert("Incorrect Password or Username")
   }
}

When I click the submit button with an incorrect email and password, nothing happens. The email must have at least two characters before the "@" symbol and at least two characters after the ".". The password must have a minimum of four characters, an uppercase character, a lower case character and a n

当我使用错误的电子邮件和密码单击提交按钮时,没有任何反应。电子邮件必须在“@”符号前至少有两个字符,在“.”后至少有两个字符。密码必须至少有四个字符,一个大写字符,一个小写字符和一个

回答by Mina Adel

    var ck_email = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]
    {0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i     

    function validate(form){
    var email = form.email.value;
    var password = form.password.value;
    var errors = [];

     if (!ck_email.test(email)) {
      errors[errors.length] = "You must enter a valid email 
      address.";
     }

     if (password=='') {
      errors[errors.length] = "You must enter the password ";
     }

     if (errors.length > 0) {        
      reportErrors(errors);
      return false;
     }
      return true;
    }

   function reportErrors(errors){
     var msg = "Please Enter Valide Data...\n";
     for (var i = 0; i<errors.length; i++) {
     var numError = i + 1;
      msg += "\n" + numError + ". " + errors[i];
    }
     alert(msg);
    }

HTML Code You have to modify action="#"

HTML 代码你必须修改 action="#"

<form method="post" action="#" onSubmit="return validate(this);" name="login">

</form>