Thread Verifizieren einer E-Mail-Adresse (7 answers)
Opened by Gast at 2005-06-04 00:06

Keanuf
 2005-06-05 02:26
#5033 #5033
User since
2005-06-02
9 Artikel
BenutzerIn
[Homepage] [default_avatar]
Thorsten bitte,
aber anscheinend klappt es ja noch nicht.

Leider kann ich dir nicht alle fragen beantworten, da ich in Perl auch nicht der fitteste bin aber fangen wir einfach mal von oben an.

Da du leider keine Lust hast perl ein bisschen kennezulernen.
Dadurch auch die Module oder auch Einbindung in dein Skript nicht erlernen willst, müssen wir uns da mal um dein Code Stück kümmern, das du da hast.

Quote
Wenn ich übrigens die von dir vorgeschlagene Änderung vornehme, dann akzeptiert das Skript E-Mail-Adressen mit "-" vor dem "@", aber wiederum keine E-Mail-Adressen à la name@erstens-zweitens-drittens.com, also mit zwei "-" nach dem @.


so hier mal meine Ausgabe mit dem Testskript.

Quote
Bitte hier eine Mail Adresse eingeben :name@erstens-zweitens-drittens.com

Adresse = name@erstens-zweitens-drittens.com

login:name
host:erstens-zweitens-drittens.com
login nach bearbeitung :name
host nach bearbeitung :erstens-zweitens-drittenscom


Quote
Verstehe ich das richtig, dass dieser Teil des Skripts (siehe erstes Posting) bei einer angegebenen E-Mail-Adresse die Adresse in einen Teil vor und einen nach dem "@" auftrennt


Ja das habe ich auch so verstanden.

Quote
dann jeweils "." (siehe $login)


hmm also hier wird ein . durch nichts ersetz also nicht einmal einem leerzeichen.

s/suchmuster/ersetzeichen/[optionen]

Quote
und/oder "-" entfernt (siehe $host)

bei der $ host wird ein punkt oder ein - ersetzt durch nichts.

hier sind wir also auch im einklang

Quote
schließlich per /\W/ prüft, ob dann $login oder $host noch ein Zeichen enthält, was weder Buchstabe noch Ziffer noch Unterstrich ist?


Genau so seh ich das hier auch.

Quote
Wenn dem so ist, müsste das Skript nach meiner Änderung nun alle E-Mail-Adressen akzeptieren, die aus Buchstaben, Ziffer, Unterstrich, Bindestrich und Punkt zusammengesetzt sind... Oder?


Also ich versteh das aber anders.
Wenn du einfach $login und $host ohne weitere Überprufungen nimmst.

also ohne s/[./-]//g nimmst erst dann werden auch alle angenommen.

Aber hier hast du das Problem, das alle möglichen Zeichen in einer E-Mail adresse sein können.

Das heist, das auch einfache Fakes von Mail adressen durch kommen.

also Beispiel
.-@-.

was ja wirklich keinen Sinn macht.
Hier musst du abwegen, was du haben willst.

Quote
Ich verstehe dann nur noch nicht, warum bei deinem Vorschlag E-Mail-Adressen mit einem Bindestrich vor dem "@" akzeptiert werden...?!


hmm sie gehen halt durch, wenn in $login und in $host keine nicht alphabetischen Zeichen enthalten hast.

Aber nachdem du nun dein Problem selber erkannt hast, dann kannst du es doch auch selber lösen.

Und wie du siehst ist perl auch nicht schwer oder ??

View full thread Verifizieren einer E-Mail-Adresse