Tester la validité d'un e-mail

Contenu du snippet

Fonction permettant de tester si un e-mail a un format valide (a peu près)

renvoi true si l'mail est bon false si il est faux

Source / Exemple :


function TestMail(EMail:string):boolean;
var
 a,b,c:integer;
 TmpS,accept:string;
begin

  TmpS := lowercase(EMail);
  Result := True;
  accept := 'abcdefghijklmnopqrstuvwxyz0123456789-@._~'; //caractères acceptés

  //test caractères non acceptés
  for a:=1 to length(TmpS) do begin                  //Pour chaque caractère de l'e-mail
    c:=0;
    for b:=1 to length(accept) do                    //si il est pas dans la liste des acceptés
     if copy(TmpS,a,1) = copy(accept,b,1) then c:=1;
    if c=0 then Result :=false;                      //c pas bon
  end;

  //test compte '@' = 1
  b:=0;
  for a:=1 to length(TmpS) do                        //pour tous les caractères
    if copy(TmpS,a,1) = '@' then b:=b+1;             //si il trouve @ il ajoute 1
  if b <> 1 then Result := False;                    //comme il faut un seul @,
                                                     //si il en trouve plusieurs c pas bon
  //test compte '.' = 0
  if pos('.',TmpS) = 0 then Result := false;         //si ya 0 '.' dans l'email c pas bon

end;

Conclusion :


TestMail('machin@serveur.com') renvera true
TestMail('tralala') renvera false
TestMail('machin@serveur@com') renvera false
TestMail('##//Waza\\ {...}@bidule.com') renvera false

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.