정규표현식(유효성 검사)

장형원·2022년 4월 30일
0

프론트에선 쓸 일 없을 줄 알았던 것 중 하나가 정규표현식이었는데, 아니었다.

나는 이번 프로젝트에서 회원가입할 때 정규표현식을 사용하여 사용자가 형식에 맞지 않는 input값을 입력하면
빨간 글씨를 노출시켜 제대로 입력할 수 있도록 하였다.

간단한 정규표현식을 쓸 때도 한 반나절 정도 걸렸는데, 이유는 include함수를 사용해서였다.
includes가 아닌 match함수를 기억하자

password.match(/^(?=.*[a-zA-Z])((?=.*\d)).{8,16}$/);

내가 쓴 정규표현식

정규표현식의 문법은 기본적으로 이렇다.

문자기능설명
.문자하나의 문자와 일치한다.
[]문자 클래스[와 ]사이의 문자 중 하나를 선택한다. [a-z]는 a-z 중 하나를 의미한다.
^처음문자열의 처음을 의미한다.
$문자열의 끝을 의미한다.
[^ ]부정문자클래스 안의 문자를 제외한 나머지를 선택한다.
예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd등을 포함한다.
[^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다.
\n일치하는 \n번째 패턴일치하는 패턴들 중 n번째를 선택하며,
여기에서 n은 1에서 9중 하나가 올 수 있다.
*0회 이상0개 이상의 문자를 포함한다. a * b는 ab, aab, aaab등을 포함한다.
{m,n}m이상 n이하
?0 또는 1회a?b는 "a", "ab"를 포함한다.
+1회 이상a+b는 ab, aab, aaab를 포함하지만 a나 b를 포함하지 않는다.
or연산자선택여러 식 중에서 하나를 선택한다.
예를 들어, abc or adc는 abc와 adc문자열을 모두 포함한다.
profile
순항을 기원하는 개발 이야기

0개의 댓글