정규표현식(regex)
- 정규 표현식은 데이터 내에서 광범위하게 또는 세부적으로 일치하는 패턴을 찾아내는 특정 문자 시퀸스 이다.
- Meta 데이터이다.
Meta 메타데이터 - 데이터를 위한 데이터, 데이터를 표현하기 위한 데이터이다.
와일드 카드
- . : 단일 문자와 일치 ex) 1.은 1O와 1A와 일치
- ? : 앞의 문자와 0회 또는 1회 일치 ex) 1O? 는 1,1O과 일치
- + : 앞의 문자와 1회 이상 일치 ex) 1O+ 는 1O,1OO와 일치
- * : 앞의 문자와 0회 이상 일치 ex) 1O* 는 1,1O과 일치
- | : OR일치를 만든다. ex) 1|10은 1,10과 일치
앵커
- ^ : 지정된 문자열로 시작
- $ : 지정된 문자열로 종료
그룹
- (,) : 문자열에 정확하게 일치하는 순서로 포함된 문자를 반환 ex) (10)은 10,101,1011 와 일치
- [,] : 문자열의 순서에 상관없이 일치하는 문자가 포함되어 있으면 반환 ex) [10]은 012,120,210과 일치
- - : 대괄호 안의 문자범위를 만들면 문자열에서 모두 일치 ex) [0~9]는 0~9중의 모든 숫자와 일치
이스케이프 문자
- \(역슬레쉬) : 인접 문자를 정규식 메타 문자가 아님 문자 그대로 해석 ex) 216.239.32.34는 216.239.32.34와 일치합니다.
문자 클래스
- \d : 숫자
- \D : 숫자가 아님
- \s : 공백
- \S : 공백이 아님
- \w : 단어문자
- \W : 단어문자 아님
비밀번호
특수문자, 문자, 숫자 포함형태의 8~15 자리의 암호 정규식
var regex = /^.(?=^.{8,15}$)(?=.\d)(?=.[a-zA-Z])(?=.[!@#$%^&+=]).*$/;