2013-11-25 5 views
-4

Я пытаюсь создать очень простую страницу профиля, используя имя, адрес электронной почты, имя пользователя и пароль. У меня должен быть код проверки пароля/кнопка.Проверка пароля javascript

Домашняя страница будет очень похожа на общую страницу профиля. Пользователь должен иметь возможность ввести следующее:

  • поле Имя
  • Email поля
  • ID пользователя поля
  • поле Password 3

  • Validation поле Password

Следующие кнопки необходимы:

  • кнопка проверки пароля
  • Создать кнопку Профиль

Я могу поставить все это вместе, но проблема, которую я имею, что консоли 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

... Я даже не знаю с чего начать – Doorknob

+0

Так в чем вопрос? – zerkms

+1

Я считаю как минимум 4 совершенно разные ошибки JS. Пожалуйста, прочитайте вступительный учебник по JavaScript.(И если это не поможет вам понять ошибку, тогда включите в сообщение сообщение об ошибке!) – Quentin

ответ

-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>

Каковы правила для вашей проверки пароля?

+0

Это все еще не работает ... вы напрямую сравниваете два разных элемента DOM, которые явно всегда будут возвращать 'false'. – mc10

+0

как раз в настоящее время я havent решил о правилах, им просто пытаются получить подтверждение, чтобы принять, что слова одинаковы – NatJohns

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>

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; 
} 
Смежные вопросы