정규표현식 특수문자 포함하여 체크

조민혜·2022년 9월 28일
0

정규표현식을 사용하여 문자를 비교할 경우 문자열내에 특문 . ( ) 등이 있으면 정상적으로 작동하지 않을 경우가 있다 .
이는 특문을 문자열로 인식하기위해 앞에 역슬레쉬(\)를 붙이거나 lodash 모듈을 이용하여 해결 가능 하다.

// 1. 함수로 직접 구현
function escapeRegExp(string) {
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // $&은 일치한 문자열 전체를 의미
}
// 2. lodash 모듈을 이용 하여 해결
import { escapeRegExp } from 'lodash';

const escapeTxt = escapeRegExp(this.searchText);
var regExp = new RegExp(`(${escapeTxt})`, 'i');
profile
Currently diving deeper into React.js development.

0개의 댓글