密码验证javascript

时间:2013-11-25 00:18:09

标签: javascript validation

我正在尝试使用名称,电子邮件,用户名和密码创建一个非常基本的个人资料页面。我必须有密码验证码/按钮。

主页与常见的个人资料页面非常相似。用户必须能够输入以下内容:

  • 名称字段
  • 电子邮件字段
  • 用户ID字段
  • 密码字段3

  • 验证密码字段

需要以下按钮:

  • 密码验证按钮
  • 创建个人资料按钮

我可以把它们放在一起,但我遇到的问题是javascript控制台告诉我代码中有一些错误......

function validate(){
    var pass1 = document.getElementById('password');
    var pass2 = document.getElementById('Password2');

    if (pass1 == pass2)
    {
        alert("Passwords Match")
    }

    else
    {
        alert("Passwords Do Not Match")
    }
}
<head>
    <script type="text/javascript" src="Profile Page.js"></script>
</head>

<body>
    Enter First and Last Name
    <input type="text" id="name">
    <br>Enter Your Email Address
    <input type="text" id="email">
    <br>Please Enter a Username
    <input type="text" id="username">
    <br>Please Enter a Password
    <input type="password" id="password">
    <br>Enter Your Password Again
    <input type="Password" id="password2">
    <br>

    <button type="button" id="validate" onClick="validate()">Validate Password</button>
    <button type="button" id="create" onClick="submit()">Create Profile</button>
</body>


好的,所以我弄清楚我的错误在哪里,现在我设置的密码不匹配的警报即将出现,即使密码是相同的。有什么建议吗?

3 个答案:

答案 0 :(得分:0)

请尝试这样:

function validateForm(){
    var pass1 = document.getElementsByName("password")[0].value;
    var pass2 = document.getElementsByName("password2")[0].value;
    if (pass1 === pass2) {
        alert("Passwords Match");
    } else {
        alert("Passwords Do Not Match");
    }
}
Enter First and Last Name
<input type = "text" id = "name" /><br/>
Enter Your Email Address
<input type = "text" id = "email" /><br/>
Please Enter a Username
<input type = "text" id = "username" /><br/>
Please Enter a Password
<input type = "password" name = "password" /><br/>
Enter Your Password Again
<input type = "Password" name= "password2" /><br/>

<button type = "button" id = "validate" onclick = "validateForm();">Validate Password</button>
<button type = "button" id = "create" onclick = "submit()">Create Profile</button>

答案 1 :(得分:0)

下面是通过比较重复密码验证密码的通用函数,包含小写,包含大写,包含数字

function validatePassword(password, repeatPassword){
var MinLength = 6;
var MaxLength = 15;

var meetsLengthRequirements:boolean = password.length >= MinLength && repeatPassword.length <= MaxLength;
var hasUpperCasevarter:boolean = false;
var hasLowerCasevarter:boolean = false;
var hasDecimalDigit:boolean = false;

if (meetsLengthRequirements)
{
  for (var i = 0, len = password.length; i < len; i++) {
    var char = password.charAt(i);
    if (!isNaN( +char * 1)){
      hasDecimalDigit = true;
    }
    else{
      if (char == char.toUpperCase()) {
        hasUpperCasevarter = true;
      }
      if (char == char.toLowerCase()){
        hasLowerCasevarter = true;
      }
    }
  }
}

var isValid = meetsLengthRequirements
            && hasUpperCasevarter
            && hasLowerCasevarter
            && hasDecimalDigit;
return isValid;
}

答案 2 :(得分:-1)

语法错误来自:

var pass1 = eval(document.getElementById('password');
var pass2 = eval(document.getElementById('password2');
if pass1 == pass2

您需要将其更改为:

var pass1 = document.getElementById('password').value;
var pass2 = document.getElementById('Password2').value;
if (pass1 == pass2)

所以整个代码看起来都是这样的。

function validate(){
    var pass1 = document.getElementById('password').value;
    var pass2 = document.getElementById('Password2').value;

    if (pass1 == pass2)
    {
        alert("Passwords Match")
    }

    else
    {
        alert("Passwords Do Not Match")
    }
}
<head>
    <script type="text/javascript" src="Profile Page.js"></script>
</head>

<body>
    Enter First and Last Name
    <input type="text" id="name">
    <br>Enter Your Email Address
    <input type="text" id="email">
    <br>Please Enter a Username
    <input type="text" id="username">
    <br>Please Enter a Password
    <input type="password" id="password">
    <br>Enter Your Password Again
    <input type="Password" id="password2">
    <br>

    <button type="button" id="validate" onClick="validate()">Validate Password</button>
    <button type="button" id="create" onClick="submit()">Create Profile</button>
</body>

您的密码验证规则是什么?