작업을 하다보면 종종 input type="text"
에 숫자만 받아야 하는 경우가 있다.
물론 input type="number"
를 사용하면 아주 간단하게 해결되지만 maxlength
, minlength
속성이 적용되지 않아 number
타입을 사용하기 아쉬운 경우가 있다.number
타입을 쓰고 스크립트로 글자수 제한을 하는 것도 방법이지만 이번 글에선 text
타입에 숫자만 받는 스크립트를 스크랩 해둔다.
코드
<input type="text" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');">
매우 간편하게 사용할 수 있다.
출처
- https://stackoverflow.com/a/28838789/10742325
– Peter Mortensen - https://stackoverflow.com/a/469362/10742325
위 내용과는 다르지만 더 많은 추천을 받은 방식