Maison > Java > javaDidacticiel > Comment Java Regex peut-il valider efficacement les adresses e-mail ?

Comment Java Regex peut-il valider efficacement les adresses e-mail ?

DDD
Libérer: 2024-12-02 16:01:16
original
212 Les gens l'ont consulté

How Can Java Regex Effectively Validate Email Addresses?

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]");
Copier après la connexion

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();
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal