<html>
<head></head>
<body>
<script>
//숫자체크
function isNum(inputValue) {
var checkCode = inputValue.value.charCodeAt(inputValue.value.length-1);
var str;
if(inputValue.value.length > 0 && !(checkCode >= 48 && checkCode <= 57)) {
alert("숫자만 입력가능합니다.");
var thisLength = inputValue.value.length;
for(var i=0; i<thisLength; i++) {
checkCode_for = inputValue.value.charCodeAt( inputValue.value.length-1 );
if( !(checkCode_for >= 48 && checkCode_for <= 57) ) {
str = inputValue.value.substring(0, inputValue.value.length-1);
inputValue.value = str;
}
}
inputValue.focus();
}else if( inputValue.value.length == 0 || checkCode >= 48 && checkCode <= 57 ) {
inputValue.focus();
}
}
//한글체크
function hangul()
{
if((event.keyCode < 12592) || (event.keyCode > 12687))
alert("한글만 입력가능 합니다");
event.returnValue = false
}
</script>
<form name="frm">
<table>
<tr>
<td>
<input type="text" name="aa" onkeyup="isNum(this)" > <br>
<input type="text" name="bb" onKeyPress="hangul();" >
</td>
</tr>
</table>
</form>
-------------------------------------------------------------
참고. JavaScript - charCodeAt()메서드
var checkCode = inputValue.value.charCodeAt(inputValue.value.length-1);
숫자 0~9 => 48~57
영문 대문자 => 65~90
소문자 => 97~122
한글 가~힣 => 45032~55203
자음 => 12593~12622
모음 => 12623~12643
--------------------------------------------------------------
한꺼번에 체크하기
/**
* 2010.10.22 추가
* checkValidation(해당Table, 검사할Colunm, 숫자&한글 구분, 메시지 띄울 컬럼명)
* ex) checkValidation('leftTable', 'l_rank', 'number', '순위');
* - 메시지 내용(1번째 순위 - 숫자만 입력 가능(불가)합니다)
* List형태의 해당 번째 값도 체크
*/
function checkValidation(otable, checkColunm, objGubn, colunmName) {
var otable_length = eval("document.all." + otable).rows.length;
var str = '';
var keyCheck = arguments[4];
if(otable_length == 1) {
str = isString(eval("document.all." + checkColunm), objGubn, colunmName, 0, keyCheck);
}else {
for(var i=0; i<otable_length; i++) {
str += isString(eval("document.all." + checkColunm + "[" + i + "]"), objGubn, colunmName, i, keyCheck);
}
}
return str;
}
function isString(inputValue, v_check, headName, rownum, keyCheck) {
var str = '';
if(inputValue.value != "") { //공백일때는 체크 하지 않음
var checkCode = inputValue.value.charCodeAt(inputValue.value.length-1);
if(v_check == 'string') {
if(checkCode >= 48 && checkCode <= 57) {
str = (rownum+1) + " 번째 " + headName + "는 문자만 입력하세요.\n";
}
}else if(v_check == 'number'){
if(!(checkCode >= 48 && checkCode <= 57)) {
str = (rownum+1) + " 번째 " + headName + "는 숫자만 입력하세요.\n";
}
}
}else{
if(v_check == 'null' || keyCheck == 'key') {
str = (rownum+1) + " 번째 " + headName + "는 필수입력입니다.\n";
}
}
return str;
}
사용 예시
function checkValidationMessage() {
var str = '';
str += checkValidation("leftTable", "l_cpsn_ct", 'number', '성적', 'key'); //숫자 and 공백 체크
str += checkValidation("leftTable", "l_rank", 'number', '순위'); //숫자인지만 체크
str += checkValidation("leftTable", "l_name", 'string', '이름'); //한글인지만 체크
str += checkValidation("leftTable", "l_score", 'null', '점수'); //공백만 체크
if("" != str) {
alert(str);
return false;
}
return true;
}
한글 입력 불가
var regType1 = /^[A-Za-z0-9+]*$/;
if
(!regType1.test($('#tbxid').val())) { alert('계정명에 한글은 들어가지 않습니다. 확인해 주세요.');
return false; }
'JavaScript' 카테고리의 다른 글
[JavaScript] 이미지 슬라이딩 (0) | 2010.10.01 |
---|---|
[JavaScript] Div - relative, absolute (0) | 2010.09.17 |
[JavaScript] td의 display 전환 - document.getElementsByTagName("tr"); (0) | 2010.09.11 |
[JavaScript] TextArea 개행 작업시 (0) | 2010.09.09 |
[JavaScript] replaceAll 구현 (0) | 2010.09.09 |