![]() |
Gültige EMail Adresse
Hallo,
hiermit kann man prüfen, ob der übergebene String eine gültige EMail-Adresse ist.
Delphi-Quellcode:
Aufruf wäre dann so:
function ValidEmail(const sValue: String): Boolean;
function CheckAllowed(const sTemp: String): Boolean; var iFor: Integer; begin Result := False; for iFor := 1 to Length(sTemp) do begin if not (sTemp[iFor] in ['a'..'z','A'..'Z','0'..'9','_','-','.']) then begin Exit; end; end; Result := True; end; var iPos: integer; NamePart, ServerPart: string; begin Result := False; iPos := Pos('@', sValue); if (iPos = 0) or (Pos('..', sValue) > 0) then begin Exit; end; NamePart := Copy(sValue, 1, iPos - 1); ServerPart := Copy(sValue, iPos +1, Length(sValue)); if (Length(NamePart) = 0) or ((Length(ServerPart) < 4)) then begin Exit; end; iPos := Pos('.', ServerPart); if (iPos = 0) or (iPos >= (Length(ServerPart) - 1)) then begin Exit; end; Result := CheckAllowed(NamePart) and CheckAllowed(ServerPart); end;
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure TForm1.Button3Click(Sender: TObject);
begin if ValidEMail('seti@home.de') then ShowMessage('Gut...') else ShowMessage('Nicht gut... :-p'); end; [edit=Chakotay1308]Delphi-Tags korrigiert. Mfg, Chakotay1308[/edit] |
Re: Gültige EMail Adresse
Warum benutzt du nicht die Masks-Unit? Auf die Schnelle:
Delphi-Quellcode:
[edit=Chakotay1308]Delphi-Tags. Mfg, Chakotay1308[/edit]
uses
Masks; function ValidEmail(const sValue: String): Boolean; begin Result := MatchesMask(sValue, '[A-Z0-9]*[A-Z0-9]@[A-Z0-9]*[A-Z0-9].[A-Z0-9]*'); // * stehen für beliebige Zeichen in beliebiger Anzahl // [A-Z0-9] bedeutet, es muss an der Stelle zwingend // ein Buchstabe (A-Z) oder eine Zahl (0-9) vorhanden // sein // am Anfang, vor und nach dem @, sowie vor und nach // dem Punkt dürfen also keinerlei Sonderzeichen // stehen (darüber könnte man evtl. streiten, weil ich // jetzt nicht weiß, ob eine Adresse wie "?Hallo@du.net" // erlaubt wäre - ich glaube nicht ...) // @ und . sind die Zeichen, die vorkommen müssen end; |
Re: Gültige EMail Adresse
Von den Usern chris und Steve kommt noch folgende Möglichkeit unter Verwendung von regulären Ausdrücken. Eine mögliche Komponente für die Verwendung von regulären Ausdrücken (Delphi bietet von Haus aus dafür keine Möglichkeit) findet man
![]()
Delphi-Quellcode:
Chris
uses RegExpr;
function IsEMailValid(eMail: string): boolean; begin Result := ExecRegExpr('[\w\d\-\.]+@[\w\d\-]+(\.[\w\d\-]+)+', eMail) end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz