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 :
- Un courriel doit contenir exactement un arobas (@),
- Le nom de domaine, situé après l'arobas (@) contient un point (.),
- Seul certains code de caractères sont acceptés.
A l'aide du code source PowerBASIC suivant, vous trouverez la réponse que vous souhaitez:
Essayer maintenant !
- DEF FNBool2Str$(value)
- IF value=0 THEN FNBool2Str$="false" ELSE FNBool2Str$="true"
- END DEF
-
- DEF FNIsEmail(Email$)
- 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
-
- STDOUT "Courriel «abc» est valide: "+FNBool2Str$(FNIsEmail("abc"))
- STDOUT "Courriel «@» est valide: "+FNBool2Str$(FNIsEmail("@"))
- STDOUT "Courriel «@abc.abc» est valide: "+FNBool2Str$(FNIsEmail("@abc.abc"))
- STDOUT "Courriel «abc@gladir.com» est valide: "+FNBool2Str$(FNIsEmail("abc@gladir.com"))
- STDOUT "Courriel «abc@@gladir.com» est valide: "+FNBool2Str$(FNIsEmail("abc@@gladir.com"))
- STDOUT "Courriel «abc@gl][adir.com» est valide: "+FNBool2Str$(FNIsEmail("abc@gl][adir.com"))
on obtiendra le résultat suivant:
Courriel «abc» est valide: falseCourriel «@» 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 : Samedi, le 23 janvier 2016