Validation des e-mails avec Java Regex
La validation des adresses e-mail à l'aide d'expressions régulières est une approche moins recommandée, mais pour continuer avec cette méthode, il est important pour comprendre les problèmes potentiels qu'il peut présenter.
Tout d'abord, examinons les regex :
b[A-Z0-9._%-] @[A-Z0-9.-] .[A-Z]{2,4}b
En Java, le le code suivant a été utilisé :
Pattern p = Pattern.compile("\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"); Matcher m = p.matcher("[email protected]");
Cependant, l'expression régulière n'a pas réussi à correspondre à une adresse e-mail valide. Examinons le code et l'expression régulière pour identifier les causes potentielles de l'échec.
La fonctionnalité "Rechercher et remplacer" dans Eclipse utilisant la même expression régulière se comportait différemment car elle n'utilisait peut-être pas le même algorithme de correspondance de modèles ou pouvait avoir traité la chaîne d'entrée différemment.
Pour résoudre ce problème, vous pouvez envisager d'utiliser une validation d'e-mail plus raffinée regex :
public static final Pattern VALID_EMAIL_ADDRESS_REGEX = Pattern.compile("^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,6}$", Pattern.CASE_INSENSITIVE); public static boolean validate(String emailStr) { Matcher matcher = VALID_EMAIL_ADDRESS_REGEX.matcher(emailStr); return matcher.matches(); }
Cette regex mise à jour suit un format plus strict pour garantir que les adresses e-mail valides correspondent. Il utilise également un modèle insensible à la casse pour permettre des variations dans la casse des e-mails.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!