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

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

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 : Lundi, le 19 novembre 2012