[javascript] input 숫자만 입력

skoh·2022년 12월 19일
0
<input type="text"id="midPhone" name="midPhone" maxlength="4" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');">
<input type="text"id="endPhone" name="endPhone" maxlength="4" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');">

maxlength:
입력가능한 최대길이 지정
input type="text" 에만 적용됨!!

onkeyup:
input 박스에 값을 입력할때(키보드 누를때) 적용되는 기능

this.value=this.value.replace(/[^0-9]/g,'');

this.value : 이 input에 입력되는 값
replace : (a, b) a외의 값들은 b로 치환된다.
/[^0-9]/g : 0-9까지의 숫자
'' : 없는 값 (공백이 아닌, 그냥 아무것도 입력 안된 값!)

input type="number" 안 쓰는 이유

input type="number" 는 플러스(+), 마이너스(-), 소수점 (.) 도 입력이 가능하다.

그리고 input 박스 위에 커서를 두고 마우스휠을 돌리면 숫자가 오르락내리락 ㅠㅠ
여러모로 막아줘야할 것들이 많은 것 같아서 (연락처 같은 경우는) input type="text" 로 쓰는 게 편한듯하다.

0개의 댓글