Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: RegEx dd.mm.yyyy hh:mm

  Alt 31. Dez 2014, 13:06
Ein email-Adress-Validator ist schon gut, aber wenn der auch noch nach Spam etc. schauen soll, dann macht der schon zuviel. Das muss man mehrstufig machen.
Delphi-Quellcode:
TEmailAddress = record
private
  FValue : string;
public
  // prüft den String mit IsValid und erzeugt den Record
  // bei IsValid = false wird eine Exception geworfen
  constructor Create( const AEmailAddressStr : string );
  class operator implicit ( const s : string ) : TEmailAddress;
  class operator implicit ( const e : TEmailAddress ) : string;
  class function IsValid( const AStr : string ): Boolean;
  function ToString : string;
  // weitere Operatoren wie Equal oder Methoden wie IsEmpty
end;
und der SpamFilter dann
Delphi-Quellcode:
function IsSpamEmail( const AEmailAddress : TEmailAddress ) : Boolean;
begin
  // hier Prüfung auf Spam-Domains
end;
Die Funktion kann jetzt aufgerufen werden mit IsSpamEmail( 'foo@bar.com' ) und der String wird in den Record umgewandelt und dabei gleichzeitig überprüft. Wenn das keine korrekte email-Adresse ist, dann wirft die Record-Umwandlung eine Exception. Darum kann ich mich in der Funktion darauf verlassen, dass ich nur korrekte Email-Adressen bekomme

Damit es nicht zu OT wird, das funktioniert natürlich auch für Datum, Zeit, etc.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (31. Dez 2014 um 13:10 Uhr)
  Mit Zitat antworten Zitat