|
또는 (정규표현식에서는 귀찮아서 하나만 씀)
()
그룹, 그룹을 여러개 지정할 수 있음. 있으면 나오고 없으면 undefined
[]
문자셋, 괄호안의 어떠한 문자든 가능[a-zA-Z0-9]
[^]
부정문자셋, 괄호안의 어떤 문자가 아닐때
(?:)
찾지만 기억하지 않음. 그룹으로 저장하지 않음. ()사이에 ?: 를 적으면 됨.
?
없거나 있거나
*
없거나 있거나 많거나
+
하나 또는 많이 있나
{n}
n번 반복
{min,}
최소
{min, max}
최소, 그리고 최대
^
문장의 시작 (단어 앞에다 붙임. 이 문자로 시작하는 문장에서 이 문자를 찾음)
$
문장의 끝 (단어 끝에다 붙임. 이 문자로 시작하는 문장에서 이 문자를 찾음)
\
특수문자인 경우 앞에 붙이는 것
.
모든 글자(줄바꿈 문자 제외)
\d
숫자(digit)
\D
숫자 아님
\w
문자(word)
\W
문자 아님
\s
공백(space)
\S
공백아님
\b
단어 경계 (문자 앞에다 붙임,이 문자로 시작하는 단어에서 이 문자를 찾음)
(문자 뒤에다 붙임,이 문자로 끝나는 단어에서 이 문자를 찾음)
\B
단어 경계가 아님 (정규 표현식에서 대문자는 소문자의 반대임)
/뒤에 붙이는 알파벳으로 대소문자 구분 않고 검사시 i, 모든 문자 검사시 g를 붙여준다. gi를 함께
쓰는 것도 가능하다.
regex.test(string) : 인수로 전달받은 문자열에서 regex를 검사해 t/f로 반환한다.
string.match(regex) : 매칭결과를 배열로 반환한다.
/^[0-9]*$/
영문자
/^[a-zA-Z]*$/
한글
/^[가-힣]*$/
전화번호 찾는 법 (연결문자는 ' ' 나 '-')
/\d{2,3}[- ]\d{3,4}[- ]\d{4}/
휴대전화 번호 찾는 법
/^01(?:0|1|[6-9])-(?:\d{3}|\d{4})-\d{4}$/
주민등록번호 찾는 법
/^\d{6}\-[1-4]\d{6}$/
이메일 찾는 법
/^[a-zA-Z0-9+-%._]+\@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/
aralrro @ naver . com
아이디로 사용가능한지 검사(자리수 4~10 제한)
/^[0-9a-zA-Z]{4,10}$/
특수문자 사용했는지 검사하고, 제거하는 검사
const target = '1234asd%';
(/[^0-9a-zA-Z]/gi).test(target); //true
target.replace(/[^0-9a-zA-Z]/gi,'')