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 Python suivant, vous trouverez la réponse que vous souhaitez :

Jusqu'à la version de Python 2
  1. def BooleanToStr(value):
  2.     if value:
  3.         return "true"
  4.     else:
  5.         return "false"
  6.  
  7. def IsEmail(Email):
  8.     if len(Email) == 0:
  9.         return False
  10.     I = 0
  11.     while I < len(Email):
  12.         if Email[I] in [" ","\t","\n","\r","(",")",":",",","/","'","\"","~","`","!","#","$","%","^","&","*","+","=","[","]","{","}","|","\\","?","<",">"]:
  13.             return False
  14.         I=I+1
  15.     ArobasFound = 0
  16.     I = 1
  17.     while I < len(Email):
  18.          if Email[I] == "@":
  19.              ArobasFound=ArobasFound+1
  20.              if ArobasFound == 1:
  21.                  AfterArobas = I
  22.          I=I+1
  23.     if ArobasFound!=1:
  24.         return False
  25.     AfterArobas=AfterArobas+2
  26.     while(AfterArobas < len(Email))&(Email[AfterArobas] != "."):
  27.         AfterArobas=AfterArobas+1
  28.     if(AfterArobas >= len(Email) - 1)|(Email[AfterArobas] != "."):
  29.         return False
  30.     else:
  31.         return True
  32.  
  33. print "Courriel «abc» est valide: "+BooleanToStr(IsEmail("abc"))
  34. print "Courriel «@» est valide: "+BooleanToStr(IsEmail("@"))
  35. print "Courriel «@abc.abc» est valide: "+BooleanToStr(IsEmail("@abc.abc"))
  36. print "Courriel «abc@gladir.com» est valide: "+BooleanToStr(IsEmail("abc@gladir.com"))
  37. print "Courriel «abc@@gladir.com» est valide: "+BooleanToStr(IsEmail("abc@@gladir.com"))
  38. print "Courriel «abc@gl][adir.com» est valide: "+BooleanToStr(IsEmail("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 : Dimanche, le 26 février 2012