Section courante

A propos

Section administrative du site

La validation des courriels est un des problèmes les plus complexe à mettre en oeuvre lorsqu'on envoie un formulaire. Et pour cause, il faut tenir compte des règles suivantes:

A l'aide du code source Turbo Basic suivant, vous trouverez la réponse que vous souhaitez:

DEF FNBool2Str$(value)
    IF value=0 THEN FNBool2Str$="false" ELSE FNBool2Str$="true"
END DEF

DEF FNIsEmail(Email$)
    LOCAL ArobasFound,AfterArobas,I
    AfterArobas=0
    IF Len(Email$) = 0 THEN FNIsEmail=0:EXIT DEF
    FOR I = 1 TO Len(Email$)
       SELECT CASE MID$(Email$,I,1)
          CASE " ",CHR$(9),CHR$(13),CHR$(10),"(",")",":",",","/","\",CHR$(34),"~","`","!","#","$","%","^","&","*","+","=","[","]","{","}","|","\","?","<",">":
              FNIsEmail=0:EXIT DEF
       END SELECT
    NEXT
    ArobasFound = 0
    FOR I = 2 TO Len(Email$)
       IF MID$(Email$,I,1) = "@" THEN
           INCR ArobasFound
           IF ArobasFound = 1 THEN AfterArobas = I
       END IF
    NEXT
    IF ArobasFound<>1 THEN FNIsEmail=0:EXIT DEF
    INCR AfterArobas,2
    WHILE ((AfterArobas <= Len(Email$)) AND (MID$(Email$,AfterArobas,1) <> "."))
       INCR AfterArobas
    WEND
    IF((AfterArobas >= Len(Email$)) OR (MID$(Email$,AfterArobas,1) <> "."))THEN FNIsEmail=0:EXIT DEF
    FNIsEmail=1
END DEF

PRINT "Courriel «abc» est valide: "+FNBool2Str$(FNIsEmail("abc"))
PRINT "Courriel «@» est valide: "+FNBool2Str$(FNIsEmail("@"))
PRINT "Courriel «@abc.abc» est valide: "+FNBool2Str$(FNIsEmail("@abc.abc"))
PRINT "Courriel «abc@gladir.com» est valide: "+FNBool2Str$(FNIsEmail("abc@gladir.com"))
PRINT "Courriel «abc@@gladir.com» est valide: "+FNBool2Str$(FNIsEmail("abc@@gladir.com"))
PRINT "Courriel «abc@gl][adir.com» est valide: "+FNBool2Str$(FNIsEmail("abc@gl][adir.com"))

on obtiendra le résultat suivant:

Courriel «abc» est valide: false
Courriel «@» est valide: false
Courriel «@abc.abc» est valide: false
Courriel «abc@gladir.com» est valide: true
Courriel «abc@@gladir.com» est valide: false
Courriel «abc@gl][adir.com» est valide: false


Dernière mise à jour : Mardi, le 28 juillet 2015