Gladir.com - JSP (Java Server Pages) - Validation - Courriel

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 (Java Server Pages) suivant, vous trouverez la réponse que vous souhaitez:
<%
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: 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 7 février 2006