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 JSP (JavaServer Pages) suivant, vous trouverez la réponse que vous souhaitez&nnsp;:
<%
class email {
boolean IsEmail(String Email) {
int I,ArobasFound,AfterArobas = 0;
if((Email == null) || (Email.length() == 0)) return false;
for(I = 0; I < Email.length(); I++) {
switch(Email.charAt(I)) {
case ' ':case '\t':case '\n':case '\r':
case '(':case ')':case ':':case ',':case '/':case '\'':case '\"':
case '~':case '`':case '!':case '#':case '$':case '%':case '^':
case '&':case '*':case '+':case '=':case '[':case ']':case '{':
case '}':case '|':case '\\':case '?':case '<':case '>':
return false;
}
}
for(ArobasFound = 0, I = 1; I < Email.length(); I++) if(Email.charAt(I) == '@') {
ArobasFound++;
if(ArobasFound == 1) AfterArobas = I;
}
if(ArobasFound!=1) return false;
AfterArobas += 2;
while ((AfterArobas < Email.length()) && (Email.charAt(AfterArobas) != '.')) AfterArobas++;
if((AfterArobas >= Email.length() - 1) || (Email.charAt(AfterArobas) != '.')) return false;
else return true;
}
}
email myemail = new email();
out.print("Courriel «abc» est valide: "+myemail.IsEmail("abc")+"<BR>");
out.print("Courriel «@» est valide: "+myemail.IsEmail("@")+"<BR>");
out.print("Courriel «@abc.abc» est valide: "+myemail.IsEmail("@abc.abc")+"<BR>");
out.print("Courriel «abc@gladir.com» est valide: "+myemail.IsEmail("abc@gladir.com")+"<BR>");
out.print("Courriel «abc@@gladir.com» est valide: "+myemail.IsEmail("abc@@gladir.com")+"<BR>");
out.print("Courriel «abc@gl][adir.com» est valide: "+myemail.IsEmail("abc@gl][adir.com")+"<BR>");
%>
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 : Mardi, le 1 novembre 2016