Vérification e-mail avec regexp
Fermé
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
-
17 mars 2017 à 01:42
Utilisateur anonyme - 24 mars 2017 à 22:24
Utilisateur anonyme - 24 mars 2017 à 22:24
A voir également:
- Vérification e-mail avec regexp
- E avec accent - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- Adresse e-mail oubliée ? - Guide
- Verification de l'identité du serveur impossible - Forum iPhone
4 réponses
BunoCS
Messages postés
15951
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 avril 2025
3 914
17 mars 2017 à 09:03
17 mars 2017 à 09:03
Hello,
Quand on parle de RegEx, je pense toujours à ça:
https://www.commitstrip.com/fr/2014/02/24/coder-on-the-verge-of-extinction/
Dans ton cas, si tu n'es pas obligé d'utiliser les RegEx, pourquoi ne pas utiliser une lib qui te permet de valider ton formulaire?
J'utilise android-saripaar qui est plutôt pas mal et qui utilise des annotations
Quand on parle de RegEx, je pense toujours à ça:
https://www.commitstrip.com/fr/2014/02/24/coder-on-the-verge-of-extinction/
Dans ton cas, si tu n'es pas obligé d'utiliser les RegEx, pourquoi ne pas utiliser une lib qui te permet de valider ton formulaire?
J'utilise android-saripaar qui est plutôt pas mal et qui utilise des annotations
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
17 mars 2017 à 11:32
17 mars 2017 à 11:32
Merci pour ta réponse. Effectivement cela semble pas mal mais comme d'habitude, c'est en anglais, pour les instructions de programmation ça va mais dès qu'il s'agit de texte... aurais-tu la patiente de m'expliquer comment adapter cela à mon code stp ?
BunoCS
Messages postés
15951
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 avril 2025
3 914
17 mars 2017 à 11:45
17 mars 2017 à 11:45
mais comme d'habitude, c'est en anglais,Dans le monde du développement logiciel, il faut s'habituer à l'anglais...
Les exemples de code sont pourtant clair je pense.
Etape 1: tu utilises les annotations que tu veux. Dans ton cas, le 1er exemple me parait bien
Etape 2: Tu instancies un Validator dans le onCreate() (attention à bien déclarer la variable en tant que membre dans l'Activity
Etape 3: ton Activity doit implémenter l'interface ValidationListener. N'oublies pas de surcharger les 2 méthodes indiquées
Etape 4: je pense que tu as compris quoi faire ;)
Et pour l'intégrer dans ton Gradle:
compile 'com.mobsandgeeks:android-saripaar:2.0.3'
YameFAZE
Messages postés
201
Date d'inscription
mardi 24 avril 2012
Statut
Membre
Dernière intervention
14 mars 2021
17 mars 2017 à 12:29
17 mars 2017 à 12:29
Bon, je vais me pencher là-dessus, merci.
Utilisateur anonyme
17 mars 2017 à 16:30
17 mars 2017 à 16:30
Bonjour
Si en Android studio (Java je suppose) le \ est le caractère d'échappement dans les string, comme pour la regex, alors il faut l'échapper 2 fois, une fois pour la string et la seconde pour la regex.
En C# on peut s'affranchir de ce problème, en mettant un @ avant la string
Je ne sais pas si c'est pareil en java
Si en Android studio (Java je suppose) le \ est le caractère d'échappement dans les string, comme pour la regex, alors il faut l'échapper 2 fois, une fois pour la string et la seconde pour la regex.
"\\."va charger "\." dans la variable, alors que
"\."va essayer d'échapper le . pour la variable, avant même de la passer à la regex.
En C# on peut s'affranchir de ce problème, en mettant un @ avant la string
@"\." //est équivalent à "\\."
Je ne sais pas si c'est pareil en java
17 mars 2017 à 13:48
17 mars 2017 à 13:57
Modifié le 24 mars 2017 à 14:29
http://www.weitz.de/regex-coach/
pour la regexp, comme indiqué par Whismeril, Java nécessitera deux antislashs pour le point.
sinon, ta regexp ne matche pas en regexp compatible Perl, à moins de la rendre insensible à la casse, ou que tes adresses soient déjà toutes en majuscules par un traitement préalable.
En Java, cela doit donner (non testé) :
C'est une vérification simple, mais qui ne validera pas forcément tous les e-mails, ou domaines. Par exemple, les adresses en ne passeront pas ton filtre, car il impose des domaines de premier niveau entre 2 et 4 lettres. Pour permettre des domaines de deux lettres ou plus, cela serait :
Une regexp Perl conforme à la RFC 822 peut devenir plus complexe que cela (pour un exemple généré automatiquement, voir ce lien - sur la base du module Perl Mail::RFC822::Address).
Par exemple est une adresse valide selon la RFC, etc. et pour prendre en compte tous les cas, faire usage d'une bibliothèque (à condition qu'elle soit bien faite) a du sens.
Dal
24 mars 2017 à 22:24
j'utilise souvent ce site
http://regexstorm.net/
Dans la page référence il y a toutes (ou presque) les syntaxes possibles avec un exemple pour chacune.
Et il y a un testeur.
Il existe de nombreux autres sites.