Bonjour à tous,
Je suis à la recherche d'une explication lumineuse concernant un comportement que je n'arrive pas à comprendre.
Voilà le contexte :
Je récupère (en Jquery) dans une variable la valeur de la saisie d’une adresse mail dans un champ.
Je défini une expression régulière pour vérifier la structure de l’adresse mail (Je ne sais pas si cette expression et la plus optimisée mais elle fonctionne).
Code : Sélectionner tout - Visualiser dans une fenêtre à part var mail = $('#adressMail').val();
Je vérifie dans la console si la saisie est conforme
Code : Sélectionner tout - Visualiser dans une fenêtre à part regex_mail = new RegExp("[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+", "g");
Là la console m'affiche -> Test de validité de l'adresse mail : true
Code : Sélectionner tout - Visualiser dans une fenêtre à part console.log("Test de validité de l'adresse mail : " + regex_mail.test(mail));
J’effectue un test pour orienter les traitements en fonction de la validité de l’adresse mail.
Constat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If (regex_mail.test(mail)) { // Traitement si adresse OK } else { // Traitement si adresse NOK }
Quel que soit l'information affichée dans la console, c’est toujours le bloc « Traitement si adresse NOK » qui est exécuté.
Avez-vous une idée pour expliquer ce qui se passe ?
Partager