{------------------------------------------------------------------------------- Vérification de la validité d'une saisie d'E-Mail -------------------------------------------------------------------------------} Function eMailIsValid(const aEMail : string): boolean; Const CarOK : Set of Char = ['a'..'z','0'..'9','.','@']; var ii,L : integer; eM : String; PosPt,PosArob : Integer; Begin Result := False; L := Length(aEMail); If L < 6 then Exit; //longueur de chaine invalide {Test du Arobase} If PosEx('.@',aEMail,1) > 0 then Exit; If PosEx('@.',aEMail,1) > 0 then Exit; eM := aEMail; PosArob := Pos('@',eM); If (PosArob < 2) or (PosArob = L) then Exit; // @ en 1ère ou dernière position eM := Copy(eM,PosArob+1,L-PosArob); If Pos('@',eM) > 0 then Exit;// un deuxieme arobase est trouvé {Test du point} PosPt := Pos('.',eM); If PosPt = 0 then Exit; // Pas de point apres l'arobase PosPt := Pos('.',aEMail); If (PosPt = 1) or (PosPt = L) then Exit; // Point en 1ère ou dernière position If PosEx('..',aEMail,1) > 0 then Exit; // Deux points à suivre {caractères autorisés} for ii:= 1 to L do if Not (aEMail[ii] in CarOK) then Exit; // caractère non autorisé Result := True; End;
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.