Benötige Hilfe für DIESEN regulären Ausdruck
Alexander
- perl
Servus zusammen,
kann mir hier mal einer helfen:
Dieser böse reguläre Ausdruck stammt aus einem Formmailer-Script und stellt eine Überprüfung einer E-Mail Adresse dar. Wenn die E-Mail Adresse fehlerhaft ist, wird dies in @bad_emails vemerkt.
if ($prefs =~ /e/i and $value and
(($value =~ /(@.*@)|(..)|(@.)|(.@)|(^.)/) or
($value !~ /^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/)))
{ push @bad_emails, $key }
Leider ist dieser Ausdruck nicht mehr up to date, da TDLs mit 4 Buchstaben, z.B. .info oder .name als falsch zurückgewiesen werden.
Dies möchte ich jetzt ändern, weiß aber nicht wie. Wer kann mir hier helfen?
Vielen Dank...
Alex :|
if ($prefs =~ /e/i and $value and
(($value =~ /(@.*@)|(..)|(@.)|(.@)|(^.)/) or
($value !~ /^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,4}|[0-9]{1,4})(]?)$/)))
{ push @bad_emails, $key }
Versuch's mal damit. Ich müßte selbst nachgucken, ob es so richtig ist, aber ich denke mal ja *g*
Das Geheimsis liegt in den {}. {a,b} bedeutet hierbei mindestens a und maximal b Wiederholungen der zuvor aufgeführten Zeichen.
Mal ne andere Frage. Woher hast du so einen schrecklichen Code?
N'Abend,
Versuch's mal damit. Ich müßte selbst nachgucken, ob es so richtig ist, aber ich denke mal ja *g*
vielen Dank! Hat wunderbar geklappt :)
Mal ne andere Frage. Woher hast du so einen schrecklichen Code?
http://cgi.tj/scripts/alienform/ Dieses Formmailer-Script wurde in vielen Script-Sammlungen als sehr gut bezeichnet und von den Usern als gut bewertet. Es ist an sich auch ziemlich gut, da es einige Interessante Funktionen bietet, die ich bei anderen Scripten vermisst habe.
Nun gut, wie auch immer. Wenn einer ein anderes gutes Script kennt, kann mir ja mal mailen oder es hier posten.
Gute Nacht...
Alex :)