153 lines
4.9 KiB
JavaScript
153 lines
4.9 KiB
JavaScript
/**
|
|
* Práctica - Sistemas Web | Grupo D
|
|
* CompluCine - FDI-cines
|
|
*/
|
|
|
|
//Expresión regular para comprobar que la contraseña tiene al menos 1 mayúscula y 1 número:
|
|
const regExprPass = /^(?=\w*\d)(?=\w*[A-Z])(?=\w*[a-z])\S{4,16}$/;
|
|
|
|
$(document).ready(function() {
|
|
|
|
//Iconos para validar el usuario:
|
|
$("#userValid").hide();
|
|
$("#userInvalid").hide();
|
|
$("#userWarning").hide();
|
|
|
|
//Iconos para validar el email:
|
|
$("#emailValid").hide();
|
|
$("#emailInvalid").hide();
|
|
|
|
//Iconos para validar el password:
|
|
$("#passValid").hide();
|
|
$("#passInvalid").hide();
|
|
$("#passWarning").hide();
|
|
|
|
//Iconos para validar que las contraseñas coindicen:
|
|
$("#repassValid").hide();
|
|
$("#repassInvalid").hide();
|
|
|
|
//Comprueba que el nombre de usuario introducido para el login, exista.
|
|
$("#name").change(function(){
|
|
var url = "../assets/php/common/checkUser.php?user=" + $("#name").val();
|
|
$.get(url, userLoginCheck);
|
|
});
|
|
|
|
//Comprueba que el nombre de usuario no esté registrado en la aplicación.
|
|
$("#new_name").change(function(){
|
|
var url = "../assets/php/common/checkUser.php?user=" + $("#new_name").val();
|
|
$.get(url, userCheck);
|
|
});
|
|
|
|
//Comprueba que el email introducido no esté registrado en la aplicación.
|
|
$("#new_email").change(function(){
|
|
var url = "../assets/php/common/checkEmail.php?email=" + $("#new_email").val();
|
|
$.get(url, emailCheck);
|
|
});
|
|
|
|
//Comprueba que la contraseña sea válida en base a los criterios de la aplicación.
|
|
$("#new_pass").change(function(){
|
|
const fieldPass = $("#new_pass");
|
|
fieldPass[0].setCustomValidity("");
|
|
const isPassValid = fieldPass[0].checkValidity();
|
|
|
|
if(fieldPass.val().length < 4){
|
|
$("#passValid").hide();
|
|
$("#passInvalid").hide();
|
|
$("#passWarning").show();
|
|
fieldPass[0].setCustomValidity("La contraseña debe contener almenos 4 caracteres.");
|
|
}
|
|
else if (isPassValid && passCheck(fieldPass.val())) {
|
|
$("#passValid").show();
|
|
$("#passInvalid").hide();
|
|
$("#passWarning").hide();
|
|
fieldPass[0].setCustomValidity("");
|
|
} else {
|
|
$("#passValid").hide();
|
|
$("#passInvalid").show();
|
|
$("#passWarning").hide();
|
|
fieldPass[0].setCustomValidity("La contraseña debe contener al menos 1 mayúscula y 1 número.");
|
|
}
|
|
|
|
});
|
|
|
|
//Comprueba que las contraseñas sean iguales.
|
|
$("#repass").change(function(){
|
|
const fieldPass = $("#new_pass");
|
|
const fieldRepass = $("#repass");
|
|
fieldRepass[0].setCustomValidity("");
|
|
|
|
if (Object.is(fieldPass.val(), fieldRepass.val())) {
|
|
$("#repassValid").show();
|
|
$("#repassInvalid").hide();
|
|
fieldRepass[0].setCustomValidity("");
|
|
} else {
|
|
$("#repassValid").hide();
|
|
$("#repassInvalid").show();
|
|
fieldRepass[0].setCustomValidity("Las contraseñas deben coincidir.");
|
|
}
|
|
|
|
});
|
|
|
|
//Muestra si el nombre de usuario introducido para el login existe o no.
|
|
function userLoginCheck(data, status) {
|
|
const fieldLogin = $("#name");
|
|
fieldLogin[0].setCustomValidity("");
|
|
|
|
if(data === "!avaliable") {
|
|
fieldLogin[0].setCustomValidity("");
|
|
} else {
|
|
fieldLogin[0].setCustomValidity("El nombre de usuario no está registrado.");
|
|
}
|
|
}
|
|
|
|
//Muestra si el nombre de usuario introducido es válido o no.
|
|
function userCheck(data, status) {
|
|
const fieldUser = $("#new_name");
|
|
fieldUser[0].setCustomValidity("");
|
|
|
|
if(fieldUser.val().length < 3){
|
|
$("#userValid").hide();
|
|
$("#userInvalid").hide();
|
|
$("#userWarning").show();
|
|
fieldUser[0].setCustomValidity("El nombre de usuario debe tener almenos 3 caracteres.");
|
|
}
|
|
else if(data === "avaliable") {
|
|
$("#userValid").show();
|
|
$("#userInvalid").hide();
|
|
$("#userWarning").hide();
|
|
fieldUser[0].setCustomValidity("");
|
|
} else {
|
|
$("#userValid").hide();
|
|
$("#userInvalid").show();
|
|
$("#userWarning").hide();
|
|
fieldUser[0].setCustomValidity("El nombre de usuario ya está registrado.");
|
|
}
|
|
}
|
|
|
|
//Muestra si el email introducido es válido o no.
|
|
function emailCheck(data, status) {
|
|
const fieldEmail = $("#new_email");
|
|
fieldEmail[0].setCustomValidity("");
|
|
const isEmailValid = fieldEmail[0].checkValidity();
|
|
|
|
if(!isEmailValid){
|
|
$("#emailValid").hide();
|
|
$("#emailInvalid").show();
|
|
}
|
|
else if (data === "avaliable") {
|
|
$("#emailValid").show();
|
|
$("#emailInvalid").hide();
|
|
fieldEmail[0].setCustomValidity("");
|
|
} else {
|
|
$("#emailValid").hide();
|
|
$("#emailInvalid").show();
|
|
fieldEmail[0].setCustomValidity("El email ya está registrado.");
|
|
}
|
|
|
|
}
|
|
|
|
//Devuelve true si la contraseña cumple los reuqisitos de seguridad, false en caso contrario.
|
|
function passCheck(pass) {
|
|
return regExprPass.test(pass) ? true : false;
|
|
}
|
|
}) |