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

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