Validation d’email Java en utilisant regex

La validation d’email en utilisant des expressions régulières est une tâche commune qui peut être requise dans toute application qui cherche l’adresse email comme information requise dans l’étape d’enregistrement. Il peut y avoir plus de cas d’utilisation mais ce n’est pas le point de discussion ici.

Sautons directement dans la discussion principale c’est-à-dire pour valider un email en Java en utilisant des expressions régulières.

Simplest regex pour valider un email

Regex : ^(.+)@(.+)$

Celle-ci est la plus simple et ne se soucie que du symbole ‘@’. Avant et après le symbole ‘@’, il peut y avoir un nombre quelconque de caractères. Voyons un exemple rapide pour voir ce que je veux dire.

Sortie du programme.

Ce modèle est disponible dans la classe EmailValidator de Common lang. Donc si cela correspond à votre besoin, vous pouvez directement utiliser cette classe.

Ajouter des restrictions sur la partie nom d’utilisateur

Regex : ^+@(.+)$

Dans cette regex, nous avons ajouté quelques restrictions sur la partie nom d’utilisateur de l’adresse email. Les restrictions dans la regex ci-dessus sont:

Testons quelques adresses email contre la regex ci-dessus.

Sortie du programme.

Veuillez noter que vous pouvez appliquer une restriction similaire à la partie nom de domaine également. Alors l’expression régulière deviendra comme ceci.

^+@+$

Validation de l’email Java autorisée par RFC 5322

Regex : ^+@+$

Cet exemple de regex utilise tous les caractères autorisés par la RFC 5322, qui régit le format des messages électroniques. Parmi les caractères autorisés, certains présentent un risque de sécurité s’ils sont passés directement de l’entrée utilisateur à une instruction SQL, comme le guillemet simple (‘) et le caractère pipe (|).

Vous devez vous assurer d’échapper les caractères sensibles lorsque vous insérez l’adresse électronique dans une chaîne de caractères passée à un autre programme, afin d’éviter les failles de sécurité telles que les attaques par injection SQL.

Sortie du programme.

Regex pour restreindre les points de tête, de queue ou consécutifs dans les courriels

Regex : ^+(?:\\.+)*@+(?:\.+)*$

La partie locale et le nom de domaine peuvent tous deux contenir un ou plusieurs points, mais deux points ne peuvent apparaître juste à côté l’un de l’autre. En outre, le premier et le dernier caractère de la partie locale et du nom de domaine ne doivent pas être des points:

Sortie du programme.

Regex pour restreindre le nombre de caractères dans le domaine de premier niveau

Maintenant, modifions la regex de telle sorte que le nom de domaine doit inclure au moins un point, et que la partie du nom de domaine après le dernier point ne peut être constituée que de lettres.

Disons que les noms de domaine sont comme secondlevel.com ou thirdlevel.secondlevel.com. Le domaine de premier niveau (.com dans ces exemples) doit être composé de deux à six lettres seulement.

Regex : ^+(?:\\.+)*@(?:+\\.)+{2,6}$

Sortie du programme.

Cette dernière regex est ma recommandation pour une simple validation d’email en java. Veuillez noter que la validation d’email en java sans expression régulière peut être possible, mais elle n’est pas recommandée. Partout où vous devez traiter avec des motifs, les expressions régulières sont vos amis.

Veuillez vous sentir libre d’utiliser cette regex ainsi que de la modifier selon les besoins supplémentaires de votre application.

Happy Learning !!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.