Я создаю формуляр, чтобы менять пароль на мой Веб, формуляр показывает визуальную помощь пользователям для того, чтобы они выполнили комплексность пароля. В общем оно функционирует хорошо, но если пользователь просто делает tab без писания ни подтверждать пароль рукописный шрифт, он это санкционирует, как который - Оба пароля - оба, они равны - Так как оба поля пустые.
Мне хотелось бы, что рукописный шрифт санкционировал, если пароли равны только, если поля не являются пустыми.
Это код моего javascript и html
$(document.registration).ready(function() {
$('input').keyup(function() {
// set password variable
var password = $(this).val();
var p1 = document.getElementById("password1").value;
var p2 = document.getElementById("password2").value;
var noValido = / /;
//validar longitud contraseña
if ( password.length < 8 ) {
$('#length').removeClass('valid').addClass('invalid');
} else {
$('#length').removeClass('invalid').addClass('valid');
}
//validar letra
if ( password.match(/[A-z]/) ) {
$('#letter').removeClass('invalid').addClass('valid');
} else {
$('#letter').removeClass('valid').addClass('invalid');
}
//validar letra mayúscula
if ( password.match(/[A-Z]/) ) {
$('#capital').removeClass('invalid').addClass('valid');
} else {
$('#capital').removeClass('valid').addClass('invalid');
}
//validar numero
if ( password.match(/\d/) ) {
$('#number').removeClass('invalid').addClass('valid');
} else {
$('#number').removeClass('valid').addClass('invalid');
}
//validar confirmación contraseña
if (p1.length == 0 || p2.length == 0) {
$('#null').removeClass('valid').addClass('invalid');
} else {
$('#null').removeClass('invalid').addClass('valid');
}
//validar contraseñas cohincidan
if (p1 != p2) {
$('#match').removeClass('valid').addClass('invalid');
} else {
$('#match').removeClass('invalid').addClass('valid');
}
if(noValido.test(p1 || p2)){ // se chequea el regex de que el string no tenga espacio
$('#blank').removeClass('valid').addClass('invalid');
} else {
$('#blank').removeClass('invalid').addClass('valid');
}
}).focus(function() {
$('#pswd_info').show();
}).blur(function() {
$('#pswd_info').hide();
});
});
La contraseña debe cumplir los siguientes requerimientos:
- Al menos una letra
- Al menos una letra mayúscula
- Al menos un número
- Al menos 8 carácteres
- Debe confirmar la contraseña
- Las contraseñas deben cohincidir
- Las contraseñas no deben tener espacios
Старайся санкционировать всегда сначала, что поля не estГ©n vacГ - вы, так как empieza, который должен выполнять каждую из вещей, что ты просишь у него санкционировать, но так как, он неуместный, так как поля estГЎn vacГ - вы, тогда в этом случае немного asГ - estarГ - в добро.
$(document.registration).ready(function() {
$('input').keyup(function() {
// set password variable
var password = $(this).val();
var p1 = document.getElementById("password1").value;
var p2 = document.getElementById("password2").value;
var noValido = / /;
//validar longitud contraseña
if ( password.length < 8 ) {
$('#length').removeClass('valid').addClass('invalid');
} else {
$('#length').removeClass('invalid').addClass('valid');
}
//validar letra
if ( password.match(/[A-z]/) ) {
$('#letter').removeClass('invalid').addClass('valid');
} else {
$('#letter').removeClass('valid').addClass('invalid');
}
//validar letra mayúscula
if ( password.match(/[A-Z]/) ) {
$('#capital').removeClass('invalid').addClass('valid');
} else {
$('#capital').removeClass('valid').addClass('invalid');
}
//validar numero
if ( password.match(/\d/) ) {
$('#number').removeClass('invalid').addClass('valid');
} else {
$('#number').removeClass('valid').addClass('invalid');
}
if(p1 != "" && p2 != ""){
//validar confirmación contraseña
if (p1.length == 0 || p2.length == 0) {
$('#null').removeClass('valid').addClass('invalid');
} else {
$('#null').removeClass('invalid').addClass('valid');
}
//validar contraseñas cohincidan
if (p1 != p2) {
$('#match').removeClass('valid').addClass('invalid');
} else {
$('#match').removeClass('invalid').addClass('valid');
}
if(noValido.test(p1 || p2)){ // se chequea el regex de que el string no tenga espacio
$('#blank').removeClass('valid').addClass('invalid');
} else {
$('#blank').removeClass('invalid').addClass('valid');
}
}
}).focus(function() {
$('#pswd_info').show();
}).blur(function() {
$('#pswd_info').hide();
});
});
OjalГЎ подал тебя, любое сомнение или подсказка ты комментируешь ее мне, привет!!
Идеальное состоит в том, чтобы использовать одну expresiГіn регулировать, чтобы санкционировать все случаи, которые ты комментируешь.
, Если ты хочешь, чтобы ты contraseГ±a в обоих полях он выполнил эти случаи:
ты можешь использовать ее expresiГіn регулировать:
var regex =/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{8,}$/;
, которая санкционирует contraseГ±as по крайней мере буквы, по крайней мере число, по крайней мере букву mayГєscula, по крайней мере 8 символов, не позволяет место.
Восток - пример используя Regexp
и санкционируя поля, чтобы подтверждать стоимость ее contraseГ±a:
function checkPassword(valor){
var myregex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}$/;
if(myregex.test(valor)){
alert(valor+" es valido :-) !");
return true;
}else{
alert(valor+" NO es valido!");
return false;
}
}
function checkForm(form){
if(form.username.value == "") {
alert("Error: Debe escribir Usuario!");
form.username.focus();
return false;
}
re = /^\w+$/;
if(!re.test(form.username.value)) {
alert("Error: Nombre de usuario debe contener únicamente letras, numeros y underscores!");
form.username.focus();
return false;
}
if(form.pwd1.value != "" && form.pwd1.value == form.pwd2.value) {
if(!checkPassword(form.pwd1.value)) {
alert("La contraseña no es valida!");
form.pwd1.focus();
return false;
}
} else {
alert("Error: las contraseñas no coinciden!");
form.pwd1.focus();
return false;
}
return true;
}
<form method="POST" action="/.../" onsubmit="checkForm(this); return false;">
<p>Usuario: <input type="text" name="username"></p>
<p>Contraseña: <input type="password" name="pwd1"></p>
<p>Confirmar Contraseña: <input type="password" name="pwd2"></p>
<p><input type="submit" value="verificar"></p>
</form>
Проверяет документ:
язык сценариев JavaScript: validaciГіn contraseГ±a с регулярными выражениями и HTML5