안녕하세요 오늘은 자바스크립트 정규 표현식에 대해 알아보겠습니다. JavaScript 언어를 사용하여 개발하다 보면 정규식이라는 개념을 접하게 됩니다. 다양한 조건을 검색하거나 대체하기 위한 목적으로 사용됩니다. 지금까지는 정확히 알지 못하며 사용하였지만, 이번 기회에 정리를 해보겠습니다.
1. 정규 표현식의 정의
- 일정한 규칙(패턴)을 가진 문자열을 표현하는 방법
- 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는 데 사용
장점 : 일반적인 조건문으로는 복잡할 수 있지만, 정규 표현식을 이용하면 매우 간단하게 표현 가능
단점 : 주석이나 공백을 허용하지 않고, 여러 기호를 혼합하여 사용하기에 가독성이 떨어짐
2. 정규 표현식의 구성
- 슬래시 문자 두 개 사이로 정규식 기호가 들어가는 형태
3. 정규 표현식 만들기
정규 표현식 리터럴은 스크립트를 불러올 때 컴파일 되므로, 바뀔 일이 없는 경우 리터럴을 사용해 성능 향상 가능
생성자 함수를 사용하면 정규 표현식이 런타임에 컴파일 되므로, 바뀔 수 있는 패턴이나 사용자 입력 등 외부 출처에서 가져오는 패턴에서 사용하기 용이함
4. 정규 표현식 메서드
- JavaScript에서 지원하는 정규 표현식 메서드
- 정규 표현식을 가지고 이메일이나 전화번호 매칭 필터링을 하기 위해 메서드는 이용하여 패턴을 검사하고, 매칭되는 문자열을 추출, 변환
5. 정규 표현식 플래그
- 정규 표현식을 생성할 때, 고급 검색을 위한 전역 옵션을 설정할 수 있도록 지원하는 기능
● g : 전역 검색
- 전역 검색 플래그가 없는 경우 : 최초 검색 결과 한 번만 반환
- 전역 검색 플래그가 있는 경우 : 모든 검색 결과를 배열로 반환
● m : 줄바꿈 검색
- 여러 줄의 문자열에서 필터링해야 될 때 사용
- 입력 시작(^) 앱커는 전체 문자열이 아닌 각 줄 별로 대응되게 만들어졌기 때문에 여러 줄을 검색해야 한다면 사용
● i : 대소문자 구분 없음
- 정규 표현식은 기본적으로 대소문자를 구분
- 대신 i 플래그를 통해 대소문자를 구분하지 않을 수 있음
6. 정규 표현식 기호
▶ 정규 표현식 특정 문자 숫자 매칭 패턴
▶ 정규 표현식 검색 기준 패턴
7. 연습 예제
1) 다 한개만 검색
2) 모든 다 검색
3) 그래픽 카드 검색
4) 'a' 그리고 '0' 그리고 '드'가 포함되어 있는지 검사
5) 숫자 0~9가 있는지 검색
6) 숫자 0~9 이외의 문자 검색
7) 영어 알파벳(대문자&소문자) 검색
8) 한글, 영어, 숫자를 제외한 특수문자만 검색
8. 실전 예제
■ 회원가입 예제
▶ 아이디 유효성 검사
▶ 비밀번호 유효성 검사
▶ 이름 유효성 검사
▶ 주민번호 유효성 검사
▶ 이메일 유효성 검사
▶ 전화번호 유효성 검사