Accueil de Gladir.com Notes légales de Gladir.com Flux RSS des nouvelles du site Gladir.com - Langage de programmation - C# (C Sharp) - Validation - Courriel Section du logiciel DOS «MonsterBook» Inventaire de la bibliothèque de Gladir.com Entrée administrateur

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 C# (C Sharp) suivant, vous trouverez la réponse que vous souhaitez :

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. namespace IsEmailSamples
  6. {
  7.     class Program
  8.     {
  9.         static bool IsEmail(String Email)
  10.         {
  11.             int I, ArobasFound, AfterArobas = 0;
  12.             if ((Email == null) || (Email.Length == 0)) return false;
  13.             for (I = 0; I < Email.Length; I++)
  14.             {
  15.                 switch (Email[I])
  16.                 {
  17.                     case ' ':
  18.                     case '\t':
  19.                     case '\n':
  20.                     case '\r':
  21.                     case '(':
  22.                     case ')':
  23.                     case ':':
  24.                     case ',':
  25.                     case '/':
  26.                     case '\'':
  27.                     case '\"':
  28.                     case '~':
  29.                     case '`':
  30.                     case '!':
  31.                     case '#':
  32.                     case '$':
  33.                     case '%':
  34.                     case '^':
  35.                     case '&':
  36.                     case '*':
  37.                     case '+':
  38.                     case '=':
  39.                     case '[':
  40.                     case ']':
  41.                     case '{':
  42.                     case '}':
  43.                     case '|':
  44.                     case '\\':
  45.                     case '?':
  46.                     case '<':
  47.                     case '>':
  48.                         return false;
  49.                 }
  50.             }
  51.  
  52.             for (ArobasFound = 0, I = 1; I < Email.Length; I++) if (Email[I] == '@')
  53.                 {
  54.                     ArobasFound++;
  55.                     if (ArobasFound == 1) AfterArobas = I;
  56.                 }
  57.             if (ArobasFound != 1) return false;
  58.             AfterArobas += 2;
  59.             while ((AfterArobas < Email.Length) && (Email[AfterArobas] != '.')) AfterArobas++;
  60.             if ((AfterArobas >= Email.Length - 1) || (Email[AfterArobas] != '.')) return false;
  61.             else return true;
  62.         }
  63.  
  64.         static void Main(string[] args)
  65.         {
  66.             Console.WriteLine("Courriel «abc» est valide: " + IsEmail("abc"));
  67.             Console.WriteLine("Courriel «@» est valide: " + IsEmail("@"));
  68.             Console.WriteLine("Courriel «@abc.abc» est valide: " + IsEmail("@abc.abc"));
  69.             Console.WriteLine("Courriel «abc@gladir.com» est valide: " + IsEmail("abc@gladir.com"));
  70.             Console.WriteLine("Courriel «abc@@gladir.com» est valide: " + IsEmail("abc@@gladir.com"));
  71.             Console.WriteLine("Courriel «abc@gl][adir.com» est valide: " + IsEmail("abc@gl][adir.com"));  
  72.         }
  73.     }
  74. }

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: Vendredi, le 25 mai 2012