정규표현식(Validation) : 비밀번호, 이메일

KoEunseo·2022년 12월 27일
0

파헤쳐보자

목록 보기
22/31

은근 정규표현식 찾기 힘들다...
그래서 적어두기로 함!

메일, 비밀번호 validation

  • const emailRegex = /[\w-.]+@[\w-.]+.[\w-.]/g
  • const passwordRegex = /^(?=.[a-zA-Z])(?=.[0-9])(?=.[!@#$%^+=-]){8,}/g
    • 문자+숫자. 어찌된일인지 위에 정규표현식이 제대로 동작하지 않는 것 같다. 8자가 되지 않았는데도 true를 리턴하는듯. 그래서 새로 찾아보았다.
  • const passwordRegex2 = /^(?=.[A-Za-z])(?=.\d)[A-Za-z\d]{8,}/g

메일은 @와 .이 포함되어있어야 하고
비밀번호는 대소문자와 숫자, 특수문자를 1개 이상 포함하고 8글자 이상이어야 한다.

  1. /는 정규표현식의 시작과 끝을 의미
  2. 맨 끝의 /뒤에 있는 문자는 flag. g는 해당되는 모든 결과를 찾으라는 의미.

비밀번호

(?=.*[a-zA-Z]) : 대소문자
(?=.*[0-9]): 숫자
(?=.*[!@#$%^*+=-]): 특수문자
{8,}: 8글자 이상

.test()를 이용해서 판단하면 된다.

  const checkEmailValidation = (inputEmail) => {
    return emailRegex.test(inputEmail);
  }

여기서 리턴 안하면 undefined나온다. 리턴 꼭 하시길...!
이거때문에 괜히 헤맸다...ㅠㅠ!

profile
주니어 플러터 개발자의 고군분투기

0개의 댓글