개발

[javascript] input 숫자만 입력가능 (IE7 적용)

지승준 2014. 9. 20. 14:55

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function getKeyCode(event) {
  return event.which || event.keyCode;
}
 
function onlyNumber() {
 
    var event = arguments[0];
  var extend_permission = arguments[1];
 
  var keyCode = getKeyCode(event);
  var permission = "[48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [46] [8]"// 48~57번까지 숫자, 46 del, 8 백스페이스
  permission = permission + extend_permission;
  //alert(keyCode);
  if (permission.indexOf("[" + keyCode + "]") == -1 ) {
      if (event.preventDefault) event.preventDefault();
      else event.returnValue = false;
  }
  
}
 
 
<input style="ime-mode:disabled" maxlength="4" onkeydown="onlyNumber(event)" 
onkeypress="onlyNumber(event)" onkeyup="onlyNumber(event)" />
cs


1. 숫자, delect, backspace만 사용가능

2. IE7에서 한글사용금지 = 스타일에 "ime-mode:disabled" 추가


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
=============================================================
키 | 코드(숫자)
=============================================================
 
←(백스패이스) = 8
TAB = 9
ENTER = 13
SHIFT = 16
CTRL = 17
ALT = 18
PAUSEBREAK = 19
CAPSLOOK = 20
한/영 = 21
한자 = 25
ESC = 27
스패이스 = 32
PAGEUP = 33
PAGEDN = 34
END = 35
HOME =36
 
←(중간) = 37
↑(중간) = 38
→(중간) = 39
↓(중간) = 40
 
0 = 48
1 = 49
2 = 50
3 = 51
4 = 52
5 = 53
6 = 54
7 = 55
8 = 56
9 = 57
 
INSERT = 45
DELETE = 46
A = 65
B = 66
C = 67
D = 68
E = 69
F = 70
G = 71
H = 72
I = 73
J = 74
K = 75
L = 76
M = 77
N = 78
O = 79
P = 80
Q = 81
R = 82
S = 83
T = 84
U = 85
V = 86
W = 87
X = 88
Y = 89
Z = 90
 
윈도우(왼쪽) = 91
윈도우(오른쪽) = 92
기능키 = 93
 
0(오른쪽) = 96
1(오른쪽) = 97
2(오른쪽) = 98
3(오른쪽) = 99
4(오른쪽) = 100
5(오른쪽) = 101
6(오른쪽) = 102
7(오른쪽) = 103
8(오른쪽) = 104
9(오른쪽) = 105
.(오른쪽) = 110
/(오른쪽) = 111
*(오른쪽) = 106
+(오른쪽) = 107
-(오른쪽) = 109
F1 = 112
F2 = 113
F3 = 114
F4 = 115
F5 = 116
F6 = 117
F7 = 118
F8 = 119
F9 = 120
F10 = 121
F11 = 122
F12 = 123
NUMLOCK = 144
SCROLLLOCK = 145
=(중간) = 187
-(중간) = 189
`(왼쪽콤마) = 192
(중간) = 220
 
cs