카테고리 없음

특수문자 입력 방지, 제한, 금지 방법들.

벨포트조던 2016. 2. 26.
반응형

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. 다른방안이 있으면 하나씩 추가 예정

반응형

댓글