1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
| $(function () {
var form = $('#registrationForm');
var userName = form.find('#userName')
var userPhone = form.find('#userPhone')
var userEmail = form.find('#userEmail')
var userPassword = form.find('#userPassword');
var confirmUserPassword = form.find('#confirmUserPassword');
var userAlert = form.find('#userAlert');
var checkPasswordAllValid = 0
// Comportement onkeyup du champ confirmUserPassword
confirmUserPassword.on("keyup", function () {
// Bord rouge tant que le champ n'est pas égal au précédent, bord vert si égalité
userPassword.val() != $(this).val() ? $(this).css('border', '2px solid red') : $(this).css('border', '2px solid green');
//Pour fermer le message d'alerte dès que l'on change le mot de passe s'il est trop court ou ne correspond pas à userPassword
userAlert.slideUp()
});
// Pour fermer le message d'alerte dès que l'on change le mot de passe s'il est trop court
userPassword.on("keyup", function () {
//Si la valeur n'est pas vide
if ($(this).val() != "") {
let taille = $("#taille-mdp");
taille.children().remove();
taille.text("");
let min = $("#min-mdp");
min.children().remove();
min.text("");
let maj = $("#maj-mdp");
maj.children().remove();
maj.text("");
let digit = $("#chiffre-mdp");
digit.children().remove();
digit.text("");
//Vérifie qu'il y a au moins 8 caractères
if (/^(.{8,})/.test($(this).val())) {
taille.css('color', 'green')
taille.append('<i class="fas fa-check-circle" style="color:green;"></i> Au moins 8 caractères. (' + $(this).val().length + '/8)');
checkPasswordAllValid++
} else {
taille.css('color', 'red')
taille.append('<i class="fas fa-times-circle"style="color:#d9534f;"></i> Au moins 8 caractères. (' + $(this).val().length + '/8)');
checkPasswordAllValid = 0
}
//Vérification du chiffre
if (/^(?=.*\d)/.test($(this).val())) {
digit.css('color', 'green')
digit.append('<i class="fas fa-check-circle" style="color:green;"></i> Au moins 1 chiffre.');
checkPasswordAllValid++
} else {
digit.css('color', 'red')
digit.append('<i class="fas fa-times-circle" style="color:#d9534f;"></i> Au moins 1 chiffre.');
checkPasswordAllValid = 0
}
//Vérification de la minuscule
if (/^(?=.*[a-z])/.test($(this).val())) {
min.css('color', 'green')
min.append('<i class="fas fa-check-circle" style="color:green;"></i> Au moins 1 caractère en minuscule.');
checkPasswordAllValid++
} else {
min.append('<i class="fas fa-times-circle" style="color:#d9534f;"></i> Au moins 1 caractère en minuscule.');
min.css('color', 'red')
checkPasswordAllValid = 0
}
//Vérification de la majuscule
if (/^(?=.*[A-Z])/.test($(this).val())) {
maj.css('color', 'green')
maj.append('<i class="fas fa-check-circle" style="color:green;"></i> Au moins 1 caractère en majuscule.');
checkPasswordAllValid++
} else {
maj.css('color', 'red')
maj.append('<i class="fas fa-times-circle" style="color:#d9534f;"></i> Au moins 1 caractère en majuscule.');
checkPasswordAllValid = 0
}
}
userAlert.slideUp();
console.log(checkPasswordAllValid)
});
userPhone.on("keyup", function () {
validatePhone(userPhone)
})
//Fonction qui valide le telephone
function validatePhone(userPhone) {
if (userPhone.val() == '' || !userPhone.val().match(/^0[1-9]([-. ]?[0-9]{2}){4}$/)) {
userPhone.css({
'background': '#FFEDEF',
'border': 'solid 1px red'
})
return false
} else {
userPhone.css({
'background': '#99FF99',
'border': 'solid 1px #99FF99'
})
return true
}
}
// Soumission du formulaire
form.on("submit", function (e) {
// Supprime le comportement par défaut pour être envoyé via Ajax
e.preventDefault();
e.stopPropagation();
// Contrôle l'égalité des password
if (userPassword.val() != confirmUserPassword.val()) {
userAlert.text("Les deux mots de passe renseignés ne correspondent pas. Veuillez corriger!").slideDown();
return false;
}
// Contrôle la longueur minimum du password
else if (userPassword.val().length < 6) {
userAlert.text("Le mot de passe doit être composé de six caractères minimum. Veuillez corriger!").slideDown();
return false;
}
// Si tout est ok on soumet le formulaire
else {
//var data = form.serializeArray(); //serializeArray() récupère tous les champs du formulaire
//alert($(this).serializeArray())
$.ajax({
type: "POST",
url: "../functions/check_registration.php",
data: {
userName: userName.val(),
userPassword: userPassword.val(),
userPhone: userPhone.val(),
userEmail: userEmail.val()
},
dataType: 'text'
}).done(function (result) {
//message.css('color', 'green').text("Vous êtes enregistré !").slideDown();
// Normalement le script php devrait lui-même renvoyer le message de confirmation et donc ce serait :
userAlert.css('color', 'green').text(result).slideDown();
}).fail(function () {
// Principalement pour debug durant le développement si la destination de la requête ajax n'est pas bonne
userAlert.text("La requête Ajax n'a pas abouti").slideDown();
})
}
})
}) |
Partager