채택완료

input 숫자만 입력하고 싶습니다.

2021-04-15 (목) 20:17:14 2,314
|

답변 3개

채택된 답변
+20 포인트

숫자만 체크를 위해서는 input을 3개로 분리해서 type number로 처리해서 자동으로 - 가 붙게끔 적용해 주시면 되지 않을까 싶습니다.

2021-04-15 (목) 20:28:34

<input type="text" placeholder="숫자만 입력" onkeydown='return onlyNumber(event)' onkeyup='removeChar(event)'>
<script>
/* 숫자만 입력받습니다. */
function onlyNumber(event){
    event = event || window.event;
    var keyID = (event.which) ? event.which : event.keyCode;
       console.log(keyID);
    if ( (keyID >= 48 && keyID <= 57) || (keyID >= 96 && keyID <= 105) || keyID == 8 || keyID == 9 || keyID == 46 || keyID == 37 || keyID == 39 ) 
        return;
    else
        return false;
}
 
function removeChar(event) {
    event = event || window.event;
    var keyID = (event.which) ? event.which : event.keyCode;
    if ( keyID == 8 || keyID == 9 || keyID == 46 || keyID == 37 || keyID == 39 ) 
        return;
    else
        event.target.value = event.target.value.replace(/[^0-9]/g, "");
}
</script>
 

답변을 작성하려면 로그인이 필요합니다.