1. 우선 테스트에서 가장 확실하게 돌아가는 것을 썼다.
var str = "체크할 문자";
for (var i=0; i < str .length; i++) {
ch_char = str .charAt(i);
ch = ch_char.charCodeAt();
if( (ch >= 33 && ch <= 47) || (ch >= 58 && ch <= 64) || (ch >= 91 && ch <= 96) || (ch >= 123 && ch <= 126) ) {
alert("특수문자를 사용할 수 없습니다");
return;
}
}
2. 입력시 alert 뜨게 하는
function check_key() {
var char_ASCII = event.keyCode;
//숫자
if (char_ASCII >= 48 && char_ASCII <= 57 )
return 1;
//영어
else if ((char_ASCII>=65 && char_ASCII<=90) || (char_ASCII>=97 && char_ASCII<=122))
return 2;
//특수기호
else if ((char_ASCII>=33 && char_ASCII<=47) || (char_ASCII>=58 && char_ASCII<=64)
|| (char_ASCII>=91 && char_ASCII<=96) || (char_ASCII>=123 && char_ASCII<=126))
return 4;
//한글
else if ((char_ASCII >= 12592) || (char_ASCII <= 12687))
return 3;
else
return 0;
}
//텍스트 박스에 숫자와 영문만 입력할수있도록
function nonHangulSpecialKey() {
if(check_key() != 1 && check_key() != 2) {
event.returnValue = false;
alert("숫자나 영문자만 입력하세요!");
return;
}
}
//텍스트 박스에 숫자만 입력할수 있도록
function numberKey() {
if(check_key() != 1 ) {
event.returnValue = false;
alert("숫자만 입력할 수 있습니다.");
return;
}
}
...
영문과 숫자만 입력할 수 있도록...
<input name="user_id" type="text" class="input" onkeypress="nonHangulSpecialKey()" > |
3. 다른방안이 있으면 하나씩 추가 예정
댓글