IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

expression régulière de mail


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Ingénieur intégration
    Inscrit en
    Août 2007
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Août 2007
    Messages : 147
    Points : 77
    Points
    77
    Par défaut expression régulière de mail
    Bonjour à vous,

    J'ai un petit soucis par rapport à une expression régulière dans un test if.
    Dans un petit script je demande à l'utilisateur d'entrer son adresse email. Toutefois pour ne pas avoir des soucis je désire tester si c'est bien une adresse email!
    J'arrive à tester si c'est du texte et qu'il y a le symbole "@" mais, cela ne marche pas puisque il y a des points "."!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     if [[ "$1" == +([a-zA-Z])\@+([a-zA-Z]) ]]
     then
       ...
     fi
    Comment peut-on ajouter dans l'expression régulière ci-dessus qu'il accepte un ou plusieurs point "." sans alourdir l'expression????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     if [[ "$1" == +(\.[a-zA-Z]\.)\@+(\.[a-zA-Z]\.) ]]
     then
       ...
     fi
    nm

  2. #2
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 102
    Points
    102
    Par défaut
    d'après régular-expressions.info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
    est la bonne syntaxe pour vérifier un mail.

    J'ai fait quelques tests avec cette expression, pour le moment non concluant mais ça devrait passer.

  3. #3
    Membre régulier
    Profil pro
    Ingénieur intégration
    Inscrit en
    Août 2007
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Août 2007
    Messages : 147
    Points : 77
    Points
    77
    Par défaut
    Merci pour l'aide... ca m'a mis sur la piste!
    J'ai trouvé ce qui me convient après quelques essais et cela me suffit amplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    \b+[a-zA-Z0-9.]@+[a-zA-Z.]\b
    Merci beaucoup et le liens intéressant!
    nm

  4. #4
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2008
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2008
    Messages : 72
    Points : 102
    Points
    102
    Par défaut
    Si tu veux aussi vérifier 2/3 autres trucs (style il y a bien un serveur qui prends les mails en face), tu as quelques scripts qui font des vérifications MX.

    Déjà tu peux faire un ptit truc du genre (ça dépends vraiment ce que tu veux faire) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    angy:~# mail="pwet@admin-serv.net"; MX=`echo $mail | cut -d "@" -f 2`; host -t MX $MX | grep "handled" || echo "pas ok"
    admin-serv.net mail is handled by 10 angy.aserv.eu.
    angy:~# mail="pwet@jkfdjkfjdskjkdjklfs.net"; MX=`echo $mail | cut -d "@" -f 2`; host -t MX $MX | grep "handled" || echo "pas ok"
    pas ok
    Ca nettoiera déjà très grossièrement certains trucs.
    Certains scripts vérifient aussi à l'aide de Telnet, mais je trouve ça un peu agressif

    Enfin voilà

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/08/2009, 11h42
  2. Expression régulière adresse mail
    Par nannous dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 22/07/2009, 12h17
  3. Expression régulière mail
    Par qltmi dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 31/10/2007, 10h41
  4. expressions régulières mail
    Par minie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/05/2007, 09h16
  5. [RegEx] Expressions régulières : problème avec e-mail
    Par webrider dans le forum Langage
    Réponses: 7
    Dernier message: 28/08/2006, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo