• [^] # Re: Show me the code

    Posté par . En réponse au journal L’homme orchestre, partie 2 : écrire du code (en Java). Évalué à 1.

    Alors t'as pas le cul sorti des ronces ;) Valider une adresse email est bien plus compliqué que juste vérifier la présence d'un @ :)

    si tu aimes l'à peu près (cette re ne gère pas tous les cas) :

    private static final Pattern rfc2822 = Pattern.compile(
     "^[a-z0-9!#`{mathjax} %&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?`"
    );
    if (!rfc2822.matcher(email).matches()) {
     throw new Exception("Invalid address");
    }

    ou sinon plutôt que réinventer la roue utiliser ce qui existe déjà :)

    http://commons.apache.org/proper/commons-validator/apidocs/org/apache/commons/validator/routines/EmailValidator.html

    Par contre c'est utiles dans pas mal de cas et savoir s'en servir peut simplifier beaucoup de traitements (comme capturer quelques éléments de certaines chaines, vérifier que les données d'entrées respectent certaines règles, repérer des éléments dans un texte/fichier... )

    Donc, pour résumer les regex c'est pas pour valider les emails :)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent