Ich habe eine Regex, um eine Kreditkartennummer in 4 Gruppen von 4 Ziffern aufzuteilen.Kartennummer Regex und Cursor/Cursor-Position (Javascript)
Die Regex funktioniert ein Vergnügen, aber wenn ich zurück in die Zeichenfolge gehen und es bearbeiten möchte springt der Cursor an das Ende der Auswahl.
<input id= "cardNumber" maxlength="19" type="tel"/>
JS wie folgt:
document.getElementById('cardNumber').addEventListener('input', function (e) {
var field = e.target;
field.value = field.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
});
Offensichtlich möchte ich nicht der Cursor an das Ende des Eintrags springen. Ich habe mit Caret-Positionen gespielt, SelectionStart and End, aber bisher kein Glück.
Alle Hinweise sehr geschätzt.
sehen jsfiddle hier: https://jsfiddle.net/oo7Ljm4j/1/
Dank. Dies erlaubt jedoch keine Mehrfachbearbeitung, da sobald Sie eine Taste drücken, das Feld gerendert wird und bis zum Ende geschossen wird. Ein realistischerer Anwendungsfall wird sein, dass Leute zurückgehen und mehrere Zahlen im Feld bearbeiten, so dass ein Sprung zurück zum Ende ein Hindernis sein wird. –
ok Ich könnte mehrere bearbeiten hinzufügen, wenn Sie wollen, fragen Sie mich einfach – Beginner