키 다시는 하나 개를 눌러 경우 그냥 확인의 keyup 사용할 수 있습니다
아무것도를하지 않는다
document.getElementById('cardNumber').addEventListener('keyup', function (e) {
var key = event.which || event.keyCode || event.charCode;
var field = e.target;
if (key !== 8) {
field.value = field.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
}
});
DEMO
또는
만들 수 있습니다 이 함수를 사용하여 텍스트 입력의 모든 키 이벤트에서 완전히 비활성화 된 비 정수형 char 및 pr 이벤트 붙여 넣기가 아닌 정수 문자
document.getElementById('cardNumber').addEventListener('keyup', format);
document.getElementById('cardNumber').addEventListener('keydown', format);
document.getElementById('cardNumber').addEventListener('copy', format);
document.getElementById('cardNumber').addEventListener('keypress', format);
function format(e) {
var key = event.which || event.keyCode || event.charCode;
var field = e.target;
if (key !== 8) {
field.value = field.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
}
}
ALSO
DEMO
이 경우
(key < 37 || key > 39)
이 있으므로 조건이
if (key !== 8 && (key < 37 || key > 39)) {
field.value = field.value.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
}
처럼 될 것입니다이 조건을 추가 할 경우 당신이 화살표를 받아 들일 수 DEMO
감사합니다. 키를 누르 자마자 필드를 렌더링하고 끝까지 다시 촬영하지만 여러 편집을 허용하지 않습니다. 더 현실적인 사용 사례는 사람들이 돌아가서 필드에서 여러 숫자를 편집하여 마지막으로 다시 뛰어 오르는 것이 방해가 될 것입니다. –
확인 원한다면 여러 번 편집 할 수 있습니다. 나에게 묻습니다. – Beginner