Zweipunktnull
Commander
- Registriert
- Dez. 2004
- Beiträge
- 2.546
Hallo!
Ich hab ein Problem mit einem regulären Ausdruck, der nicht ganz das macht, was er soll.
Das - für mich - merkwürdige ist nur, dass ich diesen Regex schon lange Zeit in PHP Skripten benutze, wo er perfekt funktioniert, aber wenn ich ihn 1:1 nach JavaScript portiere, macht er ein kleines Problem.
Es geht um die Validation von E-Mail-Adressen.
Erstmal der Code:
In PHP, alles bestens. Der Fehler bei JS: Eigentlich funktioniert dort auch alles - mit einer Ausnahme: deine E-Mail-Adresse wie abc@abc.abcdefghijklm wäre auch gültig. Dürfte ja aber eigentlich nicht, weil nach dem letzten Punkt nur 2-6 zeichen kommen dürfen. PHP macht es richtig. Wieso hat JS kein bock?
LG
Edit: Ach so, ja, also $email bzw. in JS nur email enthält die email adresse, dürfte aber klar sein...
Ich hab ein Problem mit einem regulären Ausdruck, der nicht ganz das macht, was er soll.

Das - für mich - merkwürdige ist nur, dass ich diesen Regex schon lange Zeit in PHP Skripten benutze, wo er perfekt funktioniert, aber wenn ich ihn 1:1 nach JavaScript portiere, macht er ein kleines Problem.
Es geht um die Validation von E-Mail-Adressen.
Erstmal der Code:
PHP:
$email_pattern = "#^.+@.+\.[a-zA-Z]{2,6}$#";
[...]
elseif (preg_match($email_pattern, $email) == 0)
{
$error_message[] = "Ihre E-Mail-Adresse ist ungültig.";
}
HTML:
var email_pattern = '^.+@.+\.[a-zA-Z]{2,6}$';
[...]
else if (!email.match(email_pattern))
{
error_message += 'Ihre E-Mail-Adresse ist ungültig.\n';
}
In PHP, alles bestens. Der Fehler bei JS: Eigentlich funktioniert dort auch alles - mit einer Ausnahme: deine E-Mail-Adresse wie abc@abc.abcdefghijklm wäre auch gültig. Dürfte ja aber eigentlich nicht, weil nach dem letzten Punkt nur 2-6 zeichen kommen dürfen. PHP macht es richtig. Wieso hat JS kein bock?
LG
Edit: Ach so, ja, also $email bzw. in JS nur email enthält die email adresse, dürfte aber klar sein...
Zuletzt bearbeitet:
(was verändert, was denn sonst.. :rolleyes)