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

时间:2013-05-01 06:30:05

标签: javascript html regex

在我的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>

在我的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")
   }
}

当我点击提交按钮时,电子邮件和密码不正确,没有任何反应。 电子邮件在“@”符号前必须至少有两个字符,在“。”后面必须至少包含两个字符。密码必须至少包含四个字符,一个大写字符,一个小写字符和一个n

1 个答案:

答案 0 :(得分:3)

    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代码 你必须修改action =“#”

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

</form>