참고 : Character classes - JavaScript | MDN (mozilla.org)
Character classes - JavaScript | MDN
Character classes distinguish kinds of characters such as, for example, distinguishing between letters and digits.
developer.mozilla.org
정규식은 항상 //를 작성하고 시작.
ex)우편번호 5자리를 받고싶음
const reg_post = /^\d{5}$/;
^ : 꺽새표시가 붙으면 무조건 바로 뒤에오는 패턴만으로 값이 시작되어야 한다는 뜻. ex)^\d 는 오로지 숫자로만.
\d : 숫자라는 뜻.
{x} : x자리만큼
$ : 끝내겠다. 라는 소리. 예시에선 5자리가 나오면 끝내버린다 라는 뜻.
ex) 전화번호
const reg_tel = /^(02|064)-(\d{3}|\d{4})-\d{4})$/;
(02|064) : 처음은 무조건 02 아니면 064이다. | 를 이용해 값을 늘릴 수 있음.
' - ' : ' - '는 하이픈으로 값을 입력할 때 꼭 같이 입력을 해야한다.
const reg_mobile = /^(010)-\d{4}-\d{4}$/;
const reg_email = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
\w : a-z , A-Z, 0-9, _ 까지 이용가능하다.
+ : 무조건 하나 이상의 앞의 패턴이 들어가야한다.
\. : ' . ' 은 정규 표현식에 들어 있는 패턴이므로, 문자로서의 ' . '을 이용하기 위해선 앞에 ' \ ' 를 붙여줘야한다.
[x]? : x라는 값이 있을 수도있고, 없을 수도 있다. 이어서 계속 작성하면 다 조건에 포함 가능
- ex)[xyz]? : x와 y와 z가 있을 수도 있고, 없을 수도 있다.
* : 곱하기는 여러개 있을 수 있다는 뜻으로,
- ex) ([\.-]?\w+)* 에서는( .이나-가 있을 수도 있고, 문자는 무조건 하나 이상이다)가 여러개 있을 수 있다. 라는
@ : 무조건 @가 들어가야한다.
\w{2,3} : 적어도 \w 패턴이 2개에서 3개 이상은 있어야 한다.
(?= .* )은 보통 비밀번호 유효성 검사할 때 필수로 하나씩은 들어가야할 때 사용하는데, 작성한 모든 문자를 체크한다 라는 의미로 파악하면 된다.
.이 모든 단일문자를 뜻하고, * 이 여러개를 뜻하니 합치면 여러개의 단일 문자 이기때문에 작성한 모든 문자를 체크한다라는 의미로 이용하면 될듯.
정규식 테스트 방법
console.log(reg_post.test('파라미터 or 값 직접입력');
true 가 나오면 정규식 통과
false가 나오면 정규식 통과 실패
'Js' 카테고리의 다른 글
| getElementsByClassName,querySelector(3/2 공부) (0) | 2023.03.02 |
|---|---|
| forEach문 - check박스를 이용한 비밀번호 표시(비밀번호 보기) (0) | 2023.02.16 |
| 회원가입 유효성 검사 (0) | 2023.02.15 |
| 2/14 공부 (1) | 2023.02.14 |
| 2/13 공부 (0) | 2023.02.13 |