Regexp quasi finie mais incomplète
Bonjour,
Pour les besoins d'un projet, j'ai besoin de pouvoir parser une liste d'adresse mail.
USE case :
mail@mail.com -> true
mail@mail.com, -> true
mail@mail.com; -> true
mail@mail.com,mail@mail.com;mail@mail.com -> true
mail@mail.commail@mail.com -> false
mail@mail.com mail@mail.com; -> true
;mail@mail.com,mail@mail.com;mail@mail.com -> false
Séparateur : [;,]
Actuellement, elle ressemble à cela :
Code:
1 2
| var email = "[A-Za-z0-9\._%-]+@[A-Za-z0-9\.-]+\.[A-Za-z]{2,4}";
var re = new RegExp('^'+email+'([;,]{1}\\n*'+email+')*[;,]?$'); |
Ça marche dans tout les cas, excepté un qui est censé marcher : mon_mail@mail.com;dfg & mon_mail@mail.com;dfg qui me renvois true alors qu'il devrait pas...
Use case concerné :
Code:
1 2 3 4 5
| mon_mail@mail.com;d Renvois false
mon_mail@mail.com;df Renvois true
mon_mail@mail.com;dfg Renvois true
mon_mail@mail.com;dfgs Renvois true
mon_mail@mail.com;dfgop Renvois false |
J'ai l'impression qu'il considère que c'est la fin de l'adresse mail (si j'ai 2 à 4 caractères derrière le [,;], il est content, sinon non.)
Du coup j'ai du mal à piger.
Si quelqu'un à quelques secondes / minutes pour m'aider la dessus :-)