Extraction adresse email

Soyez le premier à donner votre avis sur cette source.

Snippet vu 16 374 fois - Téléchargée 21 fois

Contenu du snippet

Routine en VB6 permettant de retrouver une adresse Email dans un texte (le contenu d'un Email par exemple).

Source / Exemple :


'
'       --------------------------------------------
'       Recherche d'une adresse email dans un string
'       --------------------------------------------
'
        Function EmailSearch(Msg As String) As String
            '
            Dim N As Long       'Index du caractère @
            Dim I As Long       'Index de recherche autour de N
            Dim S As String     'String contenant l'email trouvé ou la chaine vide
            '
            '   Une adresse email contient toujours @
            '
            S = ""              'Init à rien trouvé
            N = InStr(Msg, "@") 'Recherche caractère spécifique adresse email
            '
            '   Si on trouve le caractère @ ...
            '
            If N > 0 Then
                S = "@"
                '
                '   Recherche en amont
                '
                I = 1
                Do While ValCar(Mid(Msg, N - I, 1))
                    S = Mid(Msg, N - I, 1) & S
                    I = I + 1
                Loop
                '
                '   Recherche en aval
                '
                I = 1
                Do While ValCar(Mid(Msg, N + I, 1))
                    S = S & Mid(Msg, N + I, 1)
                    I = I + 1
                Loop
                '
                '   On ne laisse que la fin non traitée du string de départ
                '   pour permettre de rechercher simplement une autre adresse
                '   email dans ce nouveau string
                '
                Msg = Mid(Msg, N + I)
            End If
            '
            '   EmailSearch contient l'adresse email trouvée, ou la chaine vide
            '
            EmailSearch = S
        End Function
'
'       ---------------------------------------------------------------------------
'       Fonction retournant Vrai si le caractère est accepté dans une adresse email
'       ---------------------------------------------------------------------------
'       Le 12/02/07 : Ajout chiffres !
'
        Function ValCar(S As String) As Boolean
            ValCar = (InStr("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ.-_", UCase(S)) > 0)
        End Function

Conclusion :


Le sous-programme renvoie la première adresse trouvée. A la charge du programme appelant de rappeler ce sous-programme pour éventuellement en trouver d'autres.

A voir également

Ajouter un commentaire

Commentaires

Messages postés
20
Date d'inscription
mercredi 22 juin 2005
Statut
Membre
Dernière intervention
18 avril 2010

y'a t il un moyen d'extraire tout les adresse email que j'ai dans mon disque dur dans n'importe quel repertoire et les renvoyer dans un fichier text en utilisant code vb

g chercher partout et g pas reussis a trouver une solution

merci infinement pour votre aide
Messages postés
6
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
9 février 2008

Oui j'ai vue le truc ... c mieux que cette routine qui marche pas ! sinon l'expression réguliére pour récupérer un mail c'est : [a-z0-9_.-]+@[a-z0-9.-]{2,}\.[a-z]{2,3}
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
RegEx = RegularExpression = Expression régulière
Voir les liens :
http://en.wikipedia.org/wiki/Regular_expression

Une expression régulière pour repérer une adresse email s'écrit en une ligne : \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b
Messages postés
6
Date d'inscription
mercredi 7 mai 2003
Statut
Membre
Dernière intervention
9 février 2008

Salut julien ,

tu veux dire quoi par RegEx ??
Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
6
Salut,
C'est pas mal, mais je n'utiliserai jamais ça plutot que des RegEx...

Julien.
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.