Hallo, Christian,
Durch hinterheriges Überprüfen, sonst gar nicht.
Du könntest natürlich alle 500 ms kontrllieren, ob der Inhalt noch OK ist, allerdings halte ich diese Lösung für schwachsinnig, da sie unnötig Resourcen verbraucht.
es müßte eigentlich möglich sein, onFocus den Inhalt des jeweiligen Feldes in einer Variable zu speichern und onChange den neuen Wert zu überprüfen und wenn er nicht den gewünschten Kriterien entspricht durch den gespeicherten (alten) Wert zu ersetzen.
Das hat bei mir allerdings bislang noch nicht geklappt und vielleicht gibt es ja doch noch eine Alternative ...
Grüße,
Sebastian