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.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
var mail = $('#adressMail').val();
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
regex_mail = new RegExp("[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+", "g");
Je vérifie dans la console si la saisie est conforme

Code : Sélectionner tout - Visualiser dans une fenêtre à part
console.log("Test de validité de l'adresse mail : " + regex_mail.test(mail));
Là la console m'affiche -> Test de validité de l'adresse mail : true

J’effectue un test pour orienter les traitements en fonction de la validité de l’adresse mail.

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
}
Constat :
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 ?