Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Prüfen einer Emailadresse auf Gültigkeit (https://www.delphipraxis.net/78937-pruefen-einer-emailadresse-auf-gueltigkeit.html)

OLLI_S 13. Okt 2006 11:54


Prüfen einer Emailadresse auf Gültigkeit
 
Hallo,

ich programmiere eine Anwendung, in der man unter anderem eine Emailadresse zu einem Kunden eingeben kann.
Da auch ein Newsletter-Versand geplant ist, will ich die Emailadresse auf Gültigkeit prüfen.

Momentan habe ich folgende Prüfungen eingebaut:
  • Prüfe die Länge der Emailadresse (mindestens 7 Zeichen, also x@yy.de)
  • Es muss GENAU EIN @ vorkommen
  • Es MUSS mindestens EIN mal ein Punkt vorkommen
  • Ein doppelter Punkt (..) ist nicht erlaubt
  • Prüfung auf gültige Zeichen wenn Emailadresse in Großbuchstaben geprüft wird: ['A'..'Z', '0'..'9', 'Ä', 'Ö', 'Ü', '@', '_', '-', '.', '%'])
  • Vor dem @ muss mindestens ein Zeichen stehen
  • Erstes Zeichen darf kein ".", kein "-" und kein "_" sein
  • Nach dem @ muss auch ein Punkt kommen
  • Zwischen @ und letztem Punkt muss mind. 2 Zeichen sein
  • TLD muss größer als 1 sein -> nach letztem Punkt mindestens 2 Zeichen
  • TLD darf KEIN Ä, Ö oder Ü enthalten (zumindest noch nicht)
Nun meine Fragen:

Ist diese Prüfung vollständig? Fehlt noch die Prüfung auf ein Kriterium?
Ist diese Prüfung richtig (schränke ich etwas ein, was in Realität erlaubt ist)?

Ein Freund von mir meinte noch etwas von dem Zusatz ".Test" am Ende, aber er wusste da auch nicht so genau Bescheid.
Was hat es damit auf sich?

Danke für Eure Hilfe!


Gruß


OLLI

Zacherl 13. Okt 2006 12:03

Re: Prüfen einer Emailadresse auf Gültigkeit
 
Eine Einfache Form der Prüfung wäre beispielsweise dies:
Delphi-Quellcode:
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;
Florian

Union 13. Okt 2006 12:07

Re: Prüfen einer Emailadresse auf Gültigkeit
 
Und hier ist noch ein Beispiel

Balu der Bär 13. Okt 2006 12:07

Re: Prüfen einer Emailadresse auf Gültigkeit
 
Ich glaube er hat bereits eine solche Funktion geschrieben, er möchte jetzt wissen ob es noch mehr Bedingungen gibt. ;)

Zacherl 13. Okt 2006 12:10

Re: Prüfen einer Emailadresse auf Gültigkeit
 
Ja, aber wobei mein Beispiel mit hoher Sicherheit viel einfacher und kürzer sein wird ...

chaosben 13. Okt 2006 12:17

Re: Prüfen einer Emailadresse auf Gültigkeit
 
Sofern eine Internet-Verbindung besteht ( ;) ), würde ich das Vorhandensein der Domain prüfen.

OLLI_S 13. Okt 2006 12:18

Re: Prüfen einer Emailadresse auf Gültigkeit
 
Zitat:

Zitat von Balu der Bär
Ich glaube er hat bereits eine solche Funktion geschrieben, er möchte jetzt wissen ob es noch mehr Bedingungen gibt. ;)

Ja, genau das ist der Fall.
Ich HABE bereits ein Beispiel und "ER" will wissen, ob meine Prüfung gut ist....
;-)

Danke !


OLLI

Zacherl 13. Okt 2006 12:40

Re: Prüfen einer Emailadresse auf Gültigkeit
 
Ja, die Parameter der Prüfung kannst du ja eigentlich aus der Mask Abfrage auslesen ... Soweit ist deine Prüfung gut.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:16 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-2025 by Thomas Breitkreuz