Hallo EKKI!
Die Prüfung wäre also, ob vor dem @, zwischen @ und . und nach dem letzten . mindestens 2 Zeichen stehen.
Warum muss der "Name" mindestens 2 Zeichen haben?
Muss er nicht, genauso wenig wie die TLD nicht aus 2 Zeichen bestehen oder überhaupt existieren muss. Genauso wenig wie ein @ oder ein Punkt vorkommen muss. Ich hab es allerdings berücksichtigt und die Prüfung nach dem Namen auch auf 1 Zeichen beschränkt.
Meine RegExp:
'/^(\S+?)(.*?)@(\S+?)(.*?)\.(\S+?)(.*?)(\S+?)$/'
Klartext:
Ales erstes Zeichen ist jedes Zeichen ausser Whitespace beliebig oft erlaubt.
Dahinter ist jedes beliebige Zeichen ausser Newline beliebig oft oder gar nicht erlaubt.
Danach wird ein @ gewünscht.
Nach dem @ ist wieder jedes Zeichen ausser Whitespace beliebig oft erlaubt.
Danach ist wieder jedes Zeichen ausser Newline beliebig oft oder gar nicht erlaubt.
Es muss ein Punkt auftauchen.
Anschließend ist wieder jedes Zeichen ausser Whitespace, gefolgt von beliebig vielen oder keinem beliebigen Zeichen ausser Newline und einem oder mehreren abschließenden beliebigen Zeichen ausser Whitespace erlaubt.
Danach wird das Ende der Zeile erwartet.
Richtig gemerkt, die TLD muss aus mindestens 2 Zeichen bestehen wobei das erste und das letzte Zeichen kein Whitepace darstellen dürfen.
Jetzt überleg ich grad, ob ich da noch die Abfrage nach \n und \r rein krieg oder eine extra RegExp schreiben muss.
Grüße, Matze