Hi,
ich lass mich gerne belehren, aber die cursor position kannst du glaub ich nicht setzen, oder?
Ich denke du müsstest nach jeder validen Eingabe den aktuellen Wert des Feldes wegsichern, und wenn als nächstes ein invalider Wert kommt, auf den vorherigen zurück springen.
Einfacher wär's vielleicht die gesamte Eingabe abzuwarten, und den check bei onblur zumachen ...
Viel Erfolg!