Hi,
Der Regex greift zwar, es kommt bei Falscheingabe zur Meldung, aber ich würde gerne gleich wieder das falsche Zeichen vom Textfeld löschen.
Das klappte jedoch noch nicht so ganz mit dem Return.
Mache ich ein Denkfehler?
Ja – es ist nicht die Aufgabe des keyup-Handlers, den aktuellen Feldinhalt „automatisch“ mit dem Rückgabewert der Handler-Funktion zu überschreiben.
Entweder setzt du den neuen Wert direkt aus der Handler-Funktion heraus;
oder du nutzt den Event keydown stattdessen – wenn du dessen Default verhindert (preventDefault), dann wird das fragliche Zeichen gar nicht erst zum Inhalt des Eingabefeldes hinzugefügt. (Allerdings musst du die Prüfung dann auf die gedrückte Taste bzw. ihren Zeichenkode beziehen, und nicht auf das value des Eingabefeldes – denn das enthält zu dem Zeitpunkt das „neue“ Zeichen noch gar nicht.)
MfG ChrisB
Autocomplete has spoiled me to a point where it happens every so often that I encounter a CAPTCHA, and I just type in the first character … and then wait for the rest of the code to be automatically suggested :/