[..] Vérifier si la var est email et...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ethneldryt
Status : Hors ligne

[..] Vérifier si la var est email et...

#1

Message par ethneldryt »

Bonjour, je voudrai savoir comment verifier si une var est au format email, par exemple :

$mail = "testid@domaine.ext"

ici c'est bon mais si

$mail = "toto.dom.ext"

ici ca affiche une message box comem quoi ce n'est pas un email.




Je voudrai aussi verifier si une var a un minimum de 5 caractere,
si il y en a moin, afficher une msgbox .

Merci
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..]Verifier si la var est email et...  

#2

Message par Yogui »

Pour avoir ce résultat j'utiliserai la fonction StringinStr comme ceci

Code : Tout sélectionner

$email = "TOTO@TITI.com"

$result = StringInStr($email, "@")
if @error = 1 Then
    MsgBox(16,"Erreur","Email non valide")
Else
    MsgBox(64,"OK","Email Valide")
EndIf
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#3

Message par Yogui »

Pour la seconde partie de votre demande j'utiliserai la fonction : StringLen

Code : Tout sélectionner

$email = "TOTO@TITI.com"
$len = StringLen($email)
if $len < 5 Then
    MsgBox(16,"Erreur","Pas assez de charactères")
Else
    MsgBox(64,'ok','nombre de charactères ok')
EndIf
ethneldryt
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#4

Message par ethneldryt »

Merci , votre second code marche.
Mais le premier ne marche pas, il indique toujour que l'email est valide avec ou sans le "@".
Avatar du membre
Yogui
Niveau 9
Niveau 9
Messages : 689
Enregistré le : ven. 18 avr. 2008 17:29
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#5

Message par Yogui »

Code : Tout sélectionner

$email = "TO@TI"

$result = StringInStr($email, "@")
if $result = 0 Then
    MsgBox(16,"Erreur","Email non valide")
Else
    MsgBox(64,"OK","Email Valide")
EndIf
désolé j'ai copié un test avec @error celui ci fonctionne
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#6

Message par Tlem »

Pour contrôler une adresse email, je vous conseil ceci : http://www.autoitscript.fr/forum/viewto ... 412#p11412
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
moutelous
Niveau 6
Niveau 6
Messages : 229
Enregistré le : sam. 09 févr. 2008 19:51
Localisation : Rennes
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#7

Message par moutelous »

Bonjour,

La proposition de Tlem couvre en effet un bon nombre de cas ..... mais pas tous ...

Typiquement :

"Fred Bloggs"@exemple.com devrait matcher ce qui n'est pas le cas avec le pattern proposé.

Abc..123@exemple.com ne devrait pas matcher et pourtant avec le pattern proposé .....

Voir le lien suivant : http://fr.wikipedia.org/wiki/Adresse_électronique

A+
A+
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#8

Message par Tlem »

J'ai édité mon message pour modifier le pattern.

Abc..123@exemple.com est bien exclus, mais "Fred Bloggs"@exemple.com n'est toujours pas pris en compte (c'est une adresse d'un genre que je n'ai jamais vu !).
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
moutelous
Niveau 6
Niveau 6
Messages : 229
Enregistré le : sam. 09 févr. 2008 19:51
Localisation : Rennes
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#9

Message par moutelous »

Re ...
Tlem a écrit :"Fred Bloggs"@exemple.com n'est toujours pas pris en compte (c'est une adresse d'un genre que je n'ai jamais vu !)
Effectivement quand on lit le RFC 3696 on est surpris du genre d'adresse valable que l'on peut trouver !

A+
A+
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#10

Message par Tlem »

moutelous a écrit :quand on lit le RFC 3696
Houlaaaa bien trop ennuyeux. :D
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
moutelous
Niveau 6
Niveau 6
Messages : 229
Enregistré le : sam. 09 févr. 2008 19:51
Localisation : Rennes
Status : Hors ligne

Re: [..] Vérifier si la var est email et...

#11

Message par moutelous »

Re ..

Code : Tout sélectionner

$adresse='Abc..123@exemple.com'

$Validite = StringRegExp($adresse,"^((""[A-Z]?[a-z0-9!@#$%&'*\t +/=?^_`{|}~\\.-]*)([A-Z]?[a-z0-9!#$%&'*+/=?^_`{|}~-]*"")@|^[A-Z]?[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-Z]?[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@)(?:[\w-]+\.)+[a-zA-Z]{2,7}$")

If $Validite=1 then
    msgbox(0, "Adresse valide :","OUI")
Else
    msgbox(0, "Adresse valide :","NON")
EndIf
 
Pattern un peu longuet soit mais il valide les types d'adresses suivantes :


Abc@exemple.com
Abc.123@exemple.com
user+mailbox/department=shipping@exemple.com
!#$%&'*+-/=?^_`.{|}~@exemple.com
"Abc@def"@exemple.com
"Fred Bloggs"@exemple.com
"Joe.\\Blow"@exemple.com


Et rejette les types d'adresses suivantes:


Abc.exemple.com
Abc.@exemple.com
Abc..123@exemple.com


A+
A+
Répondre