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:var mail = $('#adressMail').val();
Je vérifie dans la console si la saisie est conformeCode: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 : trueCode: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:
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 ?