8
votes

Expression régulière pour la validation du courrier électronique en Java

J'utilise l'expression régulière suivante xxx mais elle accepte #@#.com comme un email valide. Quel est le motif que je devrais utiliser?


4 commentaires

Stackoverflow .com / questions / 3232 / ...


Il n'y a pas de février réaliste et réaliste pour la validation du courrier électronique. La grammaire (spécifiée dans RFC 5322) est trop compliquée pour cela. Stackoverflow.com/Questtions/201323/...


Quelle est la taille de Yahoo !? Ils ne peuvent pas obtenir d'adresse email Syntaxe Vérification correcte, vous ne pouvez pas non plus. Twitter.com/edent/status/11687784947


Cette question doit être posée au moins une fois par mois ou quelque chose


6 Réponses :


2
votes

Voici une page Web qui explique mieux que je peux: http: //www.regular -expressions.info/email.html ( edit : Cela semble être un peu obsolète car il fait référence à la RFC 2822, qui a été remplacée par RFC 5322)

Et un autre avec une prise intéressante sur le problème de la validation: http: //www.markussipila .info / pub / emailvalidator.php

Généralement, la meilleure stratégie de validation d'une adresse électronique consiste à essayer d'envoyer un courrier à celui-ci.


0 commentaires

28
votes

Vous devez utiliser le validateur e-mail Apache-Commons. Vous pouvez obtenir le fichier JAR de ici .

Voici un exemple simple de la façon dont Pour l'utiliser: P>

import org.apache.commons.validator.routines.EmailValidator;

boolean isValidEmail = EmailValidator.getInstance().isValid(emailAddress);


0 commentaires

1
votes

Si quelqu'un veut entrer une adresse électronique inexistante, il le fera la validation de format que vous choisissez.

Le seul moyen de vérifier que l'utilisateur possède un courriel qu'il est entré consiste à envoyer un lien de confirmation (ou d'activation) à cette adresse et demandez à l'utilisateur de cliquer dessus.

Alors n'essayez pas de rendre la vie de vos utilisateurs plus fort. Vérification de la présence de @ est assez bon.


0 commentaires

0
votes

J'utilise habituellement le suivant:

([a-zA-Z0-9]+(?:[._+-][a-zA-Z0-9]+)*)@([a-zA-Z0-9]+(?:[.-][a-zA-Z0-9]+)*[.][a-zA-Z]{2,})


0 commentaires

1
votes

[A-Z0-9 ._% + -] + @ [A-Z0-9 .-] +. [A-Z] {2,4}


0 commentaires

0
votes
import java.util.regex.*;

class ValidateEmailPhone{

    public static void main(String args[]){

        //phone no validation starts with 9 and of 10 digit
        System.out.println(Pattern.matches("[9]{1}[0-9]{9}", "9999999999"));

        //email validation
        System.out.println(Pattern.matches("[a-zA-Z0-9]{1,}[@]{1}[a-z]{5,}[.]{1}+[a-z]{3}", "abcd@gmail.com"));
    }
}

0 commentaires