숫자 입력을하려고합니다. 내 텍스트 상자는이 코드를 통해 번호를 받아 있도록했습니다 :숫자 사이에 공백을 추가 하시겠습니까?
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
하지만 지금은 문제가 온다, 나는 사용자로 공간이 많은 아이폰의 전화 간격 것처럼, 자신의 번호를 입력됩니다 만들 것입니다 방법, 그러나 예를 들어 숫자를 입력하면 1000이라고 입력됩니다.
1
10
100
1 000
10 000
100 000
1 000 000
10 000 000
100 000 000
1 000 000 000
기타 ...
나는 각 3 개 문자의 오른쪽에서 입력을 읽고 공백을 추가하려고했습니다. 그러나 내 방식은 비효율적이며 텍스트 상자에서 1000에서 1 000으로 값을 변경할 때 어떤 이유에서든 그것을 선택하고 그 후에 키를 누른 다음 모든 것을 지 웁니다.
이 작업을 수행하는 방법을 알고 있다면 jQuery와 같은 javascript 플러그인을 사용하지 마십시오. 고맙습니다.
경고 단어 : 이것은 올바르게하기가 정말로 어렵습니다. 입력 중간에 마우스를 클릭하고 숫자를 추가하면 어떻게됩니까? 커서를 어딘가에 옮기고 붙여 넣기를 누르십시오. 실행 취소 및 다시 실행에서 얼마나 잘 작동할까요? 올바르게 입력 된 문자 시퀀스를 수락하는 것보다 키보드 입력을 처리하는 것이 훨씬 더 많습니다. – RichieHindle