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: 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 : Samedi, le 16 août 2014