2024.02.11 TIL - regex 정규표현식(이메일, 비밀번호의 형식 제한)

Innes·2024년 2월 11일
0

TIL(Today I Learned)

목록 보기
62/147
post-thumbnail
  1. 이메일 형식을 제한하는 정규 표현식
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
  • 위 정규표현식이 따르는 규칙

    • 이메일 주소는 @ 기호를 포함해야 합니다.
    • @ 기호 앞에는 영문 대소문자, 숫자, 밑줄(_), 마침표(.), 퍼센트 기호(%), 플러스 기호(+) 또는 하이픈(-)이 올 수 있습니다.
    • @ 기호 뒤에는 영문 대소문자, 숫자, 하이픈(-), 마침표(.)가 올 수 있습니다.
    • 도메인은 영문 대소문자로 이루어진 최소한 2자 이상의 문자열이어야 합니다.
    • 도메인의 마지막은 .com, .org, .net 등과 같은 최소한 2자 이상의 문자열이어야 합니다.
  • 정규표현식 emailRegex 사용법

    • test() 메서드로 정규표현식에 맞는 형식의 이메일인지 확인 가능
      (js에서 기본으로 제공되는 메서드)
    • test 결과가 형식에 맞으면 true, 형식에 맞지 않으면 false를 반환
  1. 비밀번호 형식을 제한하는 정규 표현식
    (제한사항 : 영문, 숫자, 특수문자를 모두 포함하고 최소 8자 이상)
const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
  • 위 정규표현식이 따르는 규칙

    • (?=.*[A-Za-z]): 최소한 하나의 영문자가 포함되어야 합니다.
    • (?=.*\d): 최소한 하나의 숫자가 포함되어야 합니다.
    • (?=.*[@$!%*?&]): 최소한 하나의 특수문자가 포함되어야 합니다. 여기서는 @, $, !, %, *, ?, & 중 하나여야 합니다.
    • [A-Za-z\d@$!%*?&]{8,}: 영문자, 숫자, 특수문자로 이루어진 문자열이며 최소 8자 이상이어야 합니다.
  • test 결과가 형식에 맞으면 true, 형식에 맞지 않으면 false를 반환

profile
꾸준히 성장하는 우상향 개발자

0개의 댓글