기타

[javascript] input 특수문자 입력 방지, 입력된 특수문자 지우기

데메즈 2023. 2. 6. 19:13
728x90
반응형
<input type="text" name="action" onkeyup="characterCheck(this)" onkeydown="characterCheck(this)"/>

input 태그 안에  onkeyup 속성과 onkeydown 속성을 넣어준다

  • onkeydown : 키를 눌렀을때 이벤트이다 (shift, alt, controll, capslock 등의 모든 키에 동작한다. 단 한영변환, 한자 등의 특수키는 인식 못한다)
  • onkeyup : 키를 눌렀다가 땠을 때 이벤트이다 (onkeydown 에서 인식하는 키들을 인식 한다)
  • onkeypress : 실제로 글자가 써질때 이벤트이다 (shift, tap, enter 등의 특수키는 인식 못한다)
function characterCheck(obj){
    var regExp = /,/gi;
    if(regExp.test(obj.value)){
        alert("쉼표(,)는 입력할 수 없습니다.");
        obj.value = obj.value.substring( 0 , obj.value.length - 1 );
    }
}

그리고 characterCheck() 함수를 넣어준다.

특수문자가 입력되면 경고창을 띄우고 입력된 특수문자 한자리를 지워준다.

입력 방지 할 특수문자는  regExp // 사이에 넣으면 된다.

정규식을 이용한 것이고 저기에 쓰인 gi는 아래와 같은 의미가 있다.

  • g : 발생할 모든 pattern에 대한 전역 검색
  • i : 대/소문자 구분 안함
  • m : 여러 줄 검색
728x90
반응형