정규표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴으로 RegExp의 exec 메소드와 test 메소드, String의 match메소드, replace메소드, search메소드, split 메소드와 함께 쓰인다.
정규 표현식에 포함된 일반 문자들은 그 자체로 매칭됩니다. 예: abc는 문자열 내의 "abc"와 매칭됩니다.
특수한 의미를 갖는 문자로, ^, $, *, +, ?, . 등이 있습니다.
[ ]를 사용하여 문자들의 집합을 나타내며, 해당 위치에서 어떤 문자든지 매칭될 수 있습니다.
[0-9]와 같이 범위를 지정하여 매칭될 수 있는 문자의 범위를 나타낼 수 있습니다.
*, +, ?를 사용하여 패턴의 반복을 표현할 수 있습니다.
( )를 사용하여 하위 표현식을 그룹화할 수 있습니다.
const re = /a/ --a 가 있는 문자열
const re = /a/i --a 가 있는 문자열, 대소문자 구분 안함
const re = /apple/ -- apple가 있는 문자열
const re = /[a-z]/ -- a~z 사이의 모든 문자
const re = /[a-zA-Z0-9]/ -- a~z, A~Z 0~9 사이의 모든 문자
const re = /[a-z]|[0-9]/ -- a~z 혹은 0~9사이의 문자
const re = /a|b|c/ -- a 혹은 b 혹은 c인 문자
const re = /[^a-z]/ -- a~z까지의 문자가 아닌 문자("^" 부정)
const re = /^[a-z]/ -- 문자의 처음이 a~z로 시작되는 문장
const re = /[a-z]$/ -- 문자가 a~z로 끝남
특수문자 체크 정규식
const regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/g;
모든 공백 체크 정규식
const regExp = /\s/g;
숫자만 체크 정규식
const regExp = /[0-9]/g;
이메일 체크 정규식
const regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;
핸드폰번호 정규식
const regExp = /^\d{3}-\d{3,4}-\d{4}$/;
일반 전화번호 정규식
const regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;
아이디나 비밀번호 정규식
const regExp = /^[a-z0-9_]{4,20}$/;
휴대폰번호 체크 정규식
const regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;
정규식.test(문자열)
인수로 정규식을 받으며, 일치하는 문자열의 배열(Array) 데이터를 반환한다.
문자열.match(정규식)
첫 번째 인수로는 정규표현식, 두 번째 인수로는 대체하려는 문자 데이터를 넣는다. 이를 통해 일치하는 문자열을 새로운 문자열로 대체하고, 대체된 결과를 문자열(String)로 반환한다.
문자열.replace(정규식, 대체문자)