У меня есть регулярное выражение, чтобы разделить номер кредитной карты на 4 группы по 4 цифры.Номер карты Regex и позиция курсора/курсора (javascript)
Regex работает, но если я хочу вернуться к строке и отредактировать ее, курсор переместится в конец выделения.
<input id= "cardNumber" maxlength="19" type="tel"/>
JS следующим образом:
document.getElementById('cardNumber').addEventListener('input', function (e) {
var field = e.target;
field.value = field.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
});
Очевидно, что я не хочу, чтобы курсор, чтобы перейти к концу записи. Я играл с каретными позициями, selectStart и End, но пока не повезло.
Любые указания очень ценятся.
см jsfiddle здесь: https://jsfiddle.net/oo7Ljm4j/1/
Спасибо. Это не разрешает несколько изменений, хотя, как только вы нажимаете клавишу, он отображает поле и отстреливается до конца. Более реалистичный вариант использования будет состоять в том, чтобы люди вернулись и отредактировали несколько номеров в поле, поэтому прыжок в конец будет препятствием. –
ok Я могу добавить несколько изменений, если вы хотите, просто спросите меня – Beginner