|
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 |