<html>

<head>
    <script>
  //keycode 알아내기
  function key_check()
  {
   alert("키번호는 [" +event.keyCode+ "] 입니다.");
  }
   
  function isChk(e)
  {
   if(!e) var e = window.event;
   if(e.keyCode) code = e.keyCode;
   else if(e.which) code = e.which;
    
   if((code==44))
   {
    alert(', 는 사용불가능합니다.');
   
    if(e.keyCode) e.returnValue = false;
    else if(e.which) e.preventDefault();
   }
  }
    </script>
</head>

<body>

막음예제.. ASCII : 44번. ","<br/>
<input type="text" onkeypress="isChk(event);"><br/>
=========================<br/>
키값확인용 : <input type="text" onKeyDown='key_check();'><br />
==========================<br/>
onkeypress 이벤트 : ASCII 값 <br/>
onKeyDown 이벤트 : KeyCode값 <br/>
<pre>
keycode List
=================================================================
키                | 코드(숫자)
=================================================================
←(백스패이스) = 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

INSERT = 45
DELETE = 46

0 = 48
1 = 49
2 = 50
3 = 51
4 = 52
5 = 53
6 = 54
7 = 55
8 = 56
9 = 57

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

[출처] keycode알아내기|작성자 쭈
http://blog.naver.com/manymoa?Redirect=Log&logNo=150082517784
</pre>
</body>
</html>

YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


[자바스크립트] 필드 유효성 검사


/**
* 입력값이 NULL인지 체크
*/

function
 isNull(input) {
    if (input.value == null input.value == "") {
        return true;
    }
    return false;
}
  
/**
* 입력값에 스페이스 이외의 의미있는 값이 있는지 체크
* ex) if (isEmpty(form.keyword)) {
*         alert("검색조건을 입력하세요.");
*     }
*/

function
 isEmpty(input) {
    if (input.value == null input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}
  
/**
* 입력값에 특정 문자(chars)가 있는지 체크
* 특정 문자를 허용하지 않으려 할 때 사용
* ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
*         alert("이름 필드에는 특수 문자를 사용할 수 없습니다.");
*     }
*/

function
 containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}
  
/**
* 입력값이 특정 문자(chars)만으로 되어있는지 체크
* 특정 문자만 허용하려 할 때 사용
* ex) if (!containsCharsOnly(form.blood,"ABO")) {
*         alert("혈액형 필드에는 A,B,O 문자만 사용할 수 있습니다.");
*     }
*/

function
 containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}
  
/**
* 입력값이 알파벳인지 체크
* 아래 isAlphabet() 부터 isNumComma()까지의 메소드가
* 자주 쓰이는 경우에는 var chars 변수를 
* global 변수로 선언하고 사용하도록 한다.
* ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
*     var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
*     var number    = "0123456789";
*     function isAlphaNum(input) {
*         var chars = uppercase + lowercase + number;
*         return containsCharsOnly(input,chars);
*     }
*/

function
 isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}
  
/**
* 입력값이 알파벳 대문자인지 체크
*/

function
 isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}
  
/**
* 입력값이 알파벳 소문자인지 체크
*/

function
 isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}
  
/**
* 입력값에 숫자만 있는지 체크
*/

function
 isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}
  
/**
* 입력값이 알파벳,숫자로 되어있는지 체크
*/

function
 isAlphaNum(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}
  
/**
* 입력값이 숫자,대시(-)로 되어있는지 체크
*/

function
 isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}
  
/**
* 입력값이 숫자,콤마(,)로 되어있는지 체크
*/

function
 isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}
  
/**
* 입력값이 사용자가 정의한 포맷 형식인지 체크
* 자세한 format 형식은 자바스크립트의 `regular expression`을 참조
*/

function
 isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true//올바른 포맷 형식
    }
    return false;
}
  
/**
* 입력값이 이메일 형식인지 체크
* ex) if (!isValidEmail(form.email)) {
*         alert("올바른 이메일 주소가 아닙니다.");
*     }
*/

function
 isValidEmail(input) {
//    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^((\w[\-\.])+)@((\w[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}
  
/**
* 입력값이 전화번호 형식(숫자-숫자-숫자)인지 체크
*/

function
 isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}
  
/**
* 입력값의 바이트 길이를 리턴
* ex) if (getByteLength(form.title) > 100) {
*         alert("제목은 한글 50자(영문 100자) 이상 입력할 수 없습니다.");
*     }
* Author : Wonyoung Lee
*/

function
 getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}
  
/**
* 입력값에서 콤마를 없앤다.
*/

function
 removeComma(input) {
    return input.value.replace(/,/gi,"");
}
  
/**
* 선택된 라디오버튼이 있는지 체크
*/

function
 hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}
  
/**
* 선택된 체크박스가 있는지 체크
*/

function
 hasCheckedBox(input) {
    return hasCheckedRadio(input);
}
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST