Maison >Java >javaDidacticiel >Pourquoi la validation de mon courrier électronique Java Regex échoue-t-elle malgré le travail dans la recherche et le remplacement d'Eclipse ?
Problème avec la validation des e-mails Java Regex
En tentant de valider les adresses e-mail à l'aide d'une expression régulière, un utilisateur Java a rencontré un problème où le la validation échoue même pour les adresses e-mail bien formées. Malgré le fait que l'expression régulière correspond aux adresses e-mail lorsqu'elle est utilisée dans une fonction « rechercher et remplacer » dans Eclipse, elle échoue lorsqu'elle est utilisée avec les classes Pattern et Matcher de Java.
L'expression régulière en question est :
\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
L'utilisateur a utilisé ce code en Java :
Pattern p = Pattern.compile("\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"); Matcher m = p.matcher("[email protected]"); if (m.find()) System.out.println("Correct!");
Cependant, quelle que soit l'adresse e-mail valide ou invalide, le La validation de l'expression régulière échoue.
Une solution potentielle
Une solution suggérée consiste à utiliser le code Java suivant, qui utilise une expression régulière similaire :
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(); }
Ce code a été signalé pour valider les adresses e-mail de manière fiable.
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!