Gladir.com - C# (C Sharp) - 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 C# (C Sharp) suivant, vous trouverez la réponse que vous souhaitez:
using System;
using System.Collections.Generic;
using System.Text;

namespace IsEmailSamples
{
    class Program
    {
        static bool 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[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[I] == '@')
                {
                    ArobasFound++;
                    if (ArobasFound == 1) AfterArobas = I;
                }
            if (ArobasFound != 1) return false;
            AfterArobas += 2;
            while ((AfterArobas < Email.Length) && (Email[AfterArobas] != '.')) AfterArobas++;
            if ((AfterArobas >= Email.Length - 1) || (Email[AfterArobas] != '.')) return false;
            else return true;
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Courriel «abc» est valide: " + IsEmail("abc"));
            Console.WriteLine("Courriel «@» est valide: " + IsEmail("@"));
            Console.WriteLine("Courriel «@abc.abc» est valide: " + IsEmail("@abc.abc"));
            Console.WriteLine("Courriel «abc@gladir.com» est valide: " + IsEmail("abc@gladir.com"));
            Console.WriteLine("Courriel «abc@@gladir.com» est valide: " + IsEmail("abc@@gladir.com"));
            Console.WriteLine("Courriel «abc@gl][adir.com» est valide: " + 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: Mardi, le 7 février 2006