회원가입 창에서 주민등록번호를 입력하는 text type 부분에 문자가 아닌 숫자만 가능하게 하도록 하는 소스이다.

 

onkeyup과 onchange 이벤트를 이용하여 text 창에 숫자가 아닌 문자나 특수문자를 입력하면 그 즉시 자동으로 삭제된다.

 

 

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
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>주민등록번호 입력 예제</title>
<script type="text/javascript">
    function getTypeCheck(s, spc) {
        var i;
        
        for (i = 0; i < s.length; i++) {
            if (spc.indexOf(s.substring(i, i + 1)) < 0) {
                return false;
            }
        }
        
        return true;
    }
    
    function onlyNum(obj,n) {
        var re = /[^0-9]/gi;
        var NUM = "0123456789";
        var str_space = /\s/;
     
        if(n == undefined || n == null) {
            var n = "";
            var n2 = "";
        } 
        else {
            if(n == "") {
                var n = "";
                var n2 = "";
            } 
            else {
                var n = eval(n);
                var n2 = n;
            }
        }
     
        if(!getTypeCheck(obj.value, NUM)) {
            alert("숫자를 입력해주세요.");
            
            obj.value = obj.value.replace(re,"");
            obj.value = n2;
            
            obj.focus();
            
            return false;
        }
    }
</script>
</head>
<body>
    <h2>주민등록번호 입력 예제</h2>
    <input type="text" name="juminA" id="juminA" onkeyup="onlyNum(this, '');" onchange="onlyNum(this, '');" /> -
    <input type="text" name="juminB" id="juminB" onkeyup="onlyNum(this, '');" onchange="onlyNum(this, '');" />
</body>
</html>
cs

 

 

 

alert 창이 뜨면서 onkeyup 이벤트를 걸어놓았기 때문에 공백으로 문자가 지워진다.

+ Recent posts