Section courante

A propos

Section administrative du site

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 :

A l'aide du code source Visual Basic .NET (VB .NET) suivant, vous trouverez la réponse que vous souhaitez :

  1. Module Module1
  2.  
  3.     Function IsEmail(Email As String)
  4.         Dim ArobasFound As Integer
  5.         Dim AfterArobas As Integer
  6.         If ((String.IsNullOrEmpty(Email)) Or (Len(Email) = 0)) Then
  7.             IsEmail = False
  8.             Exit Function
  9.         End If
  10.         For I = 1 To Len(Email)
  11.             Select Case Mid(Email, I, 1)
  12.                 Case " ", "\t", "\n", "\r", "(", ")", ":", ",", "/", "'", """", _
  13.                      "~", "`", "!", "#", "$", "%", "^", "&", "*", "+", "=", "[", "]", "{", _
  14.                      "}", "|", "\", "?", "<", ">"
  15.                     IsEmail = False
  16.                     Exit Function
  17.             End Select
  18.         Next
  19.  
  20.         ArobasFound = 0
  21.         For I = 2 To Len(Email)
  22.             If Mid(Email, I, 1) = "@" Then
  23.                 ArobasFound = ArobasFound + 1
  24.                 If ArobasFound = 1 Then AfterArobas = I
  25.             End If
  26.         Next
  27.         If ArobasFound <> 1 Then
  28.             IsEmail = False
  29.             Exit Function
  30.         End If
  31.         AfterArobas = AfterArobas + 2
  32.         Do While ((AfterArobas < Len(Email)) And (Mid(Email, AfterArobas, 1) <> "."))
  33.             AfterArobas = AfterArobas + 1
  34.         Loop
  35.         If ((AfterArobas >= Len(Email) - 1) Or (Mid(Email, AfterArobas, 1) <> ".")) Then
  36.             IsEmail = False
  37.         Else
  38.             IsEmail = True
  39.         End If
  40.     End Function
  41.  
  42.     Sub Main()
  43.         Console.WriteLine("Courriel «abc» est valide: " & Convert.ToString(IsEmail("abc")))
  44.         Console.WriteLine("Courriel «@» est valide: " & Convert.ToString(IsEmail("@")))
  45.         Console.WriteLine("Courriel «@abc.abc» est valide: " & Convert.ToString(IsEmail("@abc.abc")))
  46.         Console.WriteLine("Courriel «abc@gladir.com» est valide: " & Convert.ToString(IsEmail("abc@gladir.com")))
  47.         Console.WriteLine("Courriel «abc@@gladir.com» est valide: " & Convert.ToString(IsEmail("abc@@gladir.com")))
  48.         Console.WriteLine("Courriel «abc@gl][adir.com» est valide: " & Convert.ToString(IsEmail("abc@gl][adir.com")))
  49.     End Sub
  50.  
  51. End Module
  52.  

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 : Samedi, le 22 octobre 2016