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 Jython suivant, vous trouverez la réponse que vous souhaitez:
def BooleanToStr(value):
if value:
return "true"
else:
return "false"
def IsEmail(Email):
if len(Email) == 0:
return False
I = 0
while I < len(Email):
if Email[I] in [" ","\t","\n","\r","(",")",":",",","/","'","\"","~","`","!","#","$","%","^","&","*","+","=","[","]","{","}","|","\\","?","<",">"]:
return False
I=I+1
ArobasFound = 0
I = 1
while I < len(Email):
if Email[I] == "@":
ArobasFound=ArobasFound+1
if ArobasFound == 1:
AfterArobas = I
I=I+1
if ArobasFound!=1:
return False
AfterArobas=AfterArobas+2
while(AfterArobas < len(Email))&(Email[AfterArobas] != "."):
AfterArobas=AfterArobas+1
if(AfterArobas >= len(Email) - 1)|(Email[AfterArobas] != "."):
return False
else:
return True
print "Courriel «abc» est valide: "+BooleanToStr(IsEmail("abc"))
print "Courriel «@» est valide: "+BooleanToStr(IsEmail("@"))
print "Courriel «@abc.abc» est valide: "+BooleanToStr(IsEmail("@abc.abc"))
print "Courriel «abc@gladir.com» est valide: "+BooleanToStr(IsEmail("abc@gladir.com"))
print "Courriel «abc@@gladir.com» est valide: "+BooleanToStr(IsEmail("abc@@gladir.com"))
print "Courriel «abc@gl][adir.com» est valide: "+BooleanToStr(IsEmail("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 : Dimanche, le 16 octobre 2016