【问题标题】:Password validation using javaScript , not working correctly使用 javaScript 进行密码验证,无法正常工作
【发布时间】:2021-06-09 11:46:36
【问题描述】:

这是我使用 JavaScript 进行的电子邮件地址验证,我只有两个条件有效,一个带有特殊字符的条件无效。
只有第三个是在电子邮件地址上测试的,前两个是在密码上的。 请帮帮我。

<script type = "text/javascript"> 
        function validateEmail(form) {
            var tr = /[A-Za-z0-9]{8,}/
            var tr2 = /\S+@\S+\.\S+/  
            var tr3 = /[A-Za-z0-9]+[a-zA-Z0-9.!$+/?_]/
            if (!(tr.test(form.password.value))){
                alert("The passowrd length must be more than 8 letters.")
                return false;
            }
            else if (!(tr3.test(form.password.value))){
                alert("Enter a special character.")
                return false;
            }
            else if (!(tr2.test(form.email.value))){
                alert("Enter a valid email.")
                return false;
            }
            else{
                alert("signed in successfully")
                window,open("HomePage.html")
                return true
            }
        }
    </script>

【问题讨论】:

标签: javascript regex validation


【解决方案1】:

只需将正则表达式更改为此。

const form = {
  password: {
    value: 'buffaloBill3#@$',
  },
  email: {
    value: 'hannibal@lecter.com'
  }
};


function validateEmail(form) {
  var tr = /[A-Za-z0-9]{8,}/
  var tr2 = /\S+@\S+\.\S+/
  var tr3 = /^(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{0,}$/;
    
  if (!(tr.test(form.password.value))) {
    alert("The passowrd length must be more than 8 letters.")
    return false;
  } else if (!(tr3.test(form.password.value))) {
    alert("Enter a special character.")
    return false;
  } else if (!(tr2.test(form.email.value))) {
    alert("Enter a valid email.")
    return false;
  } else {
    alert("signed in successfully")
    window, open("HomePage.html")
    return true
  }
}

validateEmail(form);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    • 2015-02-16
    • 2023-03-31
    • 2012-04-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多