본문 바로가기

Javascript

숫자만 입력받게 하는 스크립트

// 사용법 : onkeyup="OnlyNumberUp(event)" onkeydown="OnlyNumberDown(event)"

     function OnlyNumberUp(event) {
         if(isIE) {
             var EventKeyCode = event.keyCode;
         }
         else{
             var EventKeyCode = event.which;
         }
            if (EventKeyCode == "16") this.isShiftKey = false;
     },

     function OnlyNumberDown(event) {
            var EventKeyCode = 0;
         if(isIE) {
             EventKeyCode = event.keyCode;
         }
         else{
             EventKeyCode = event.which;
         }
         if(EventKeyCode == 16) this.isShiftKey = true;
        
            // event.keyCode = 48 ~ 57 : 자판 배열 상단의 숫자키
            var OpenKeyCode = new Array(48,49,50,51,52,53,54,55,56,57);
            // event.keyCode = 96 ~ 105 : 자판 오른쪽의 숫자키
            OpenKeyCode = OpenKeyCode + "," + Array(96,97,98,99,100,101,102,103,104,105);
            // event.keyCode = 8 : backspace
            OpenKeyCode = OpenKeyCode + "," + 8;
            // event.keyCode = 9 : tab
            OpenKeyCode = OpenKeyCode + "," + 9;
            // event.keyCode = 37 : left arrow
            OpenKeyCode = OpenKeyCode + "," + 37;
            // event.keyCode = 39 : right arrow
            OpenKeyCode = OpenKeyCode + "," + 39;
            // event.keyCode = 46 : delete
            OpenKeyCode = OpenKeyCode + "," + 46;
            // event.keyCode = 144 : Num Lock
            OpenKeyCode = OpenKeyCode + "," + 144;
           
            if((OpenKeyCode.indexOf(EventKeyCode) < 0) || (this.isShiftKey)){
                event.returnValue = false;
            }
     },