본문 바로가기

FRONT/JavaSrcipt

[JavaScript] input 입력 시 한글 입력 제한 설정

 

 

input 창에 입력 시 한글 입력을 막고 싶다.

입력된 값에 허용되지 않은 문자는 정규표현식을 사용하여 문자열에서 제외하는 replace() 함수를 실행할 것이다.

 

<el-input @input="bindKorean(slotData.$index)" v-model="slotData.row.name"></el-input>

 

@input 을 이용하여 함수를 호출한다.

 

const bindKorean = (index) => {
  const regExp = /[^0-9a-zA-Z]/g;

  if (regExp.exec(state.list[index].name)) {
    state.list[index].name = state.list[index].name.replace(regExp, '');
  }
};

 

.exec 메소드는 정규식 패턴에 맞는 문자열 탐색을 수행하는 메소드이다.

 

문자열을 탐색하여 일치하는 값을 찾으면

.replace 로 해당 문자열을 지운다.

 

@input 을 이용하여 입력 할 때 마다 발생하기 때문에 한글 입력이 제한 된다.