[TIL] 비밀번호 유효성검사

oaksusu·2024년 5월 14일
0

TIL

목록 보기
33/41
post-thumbnail

0. 배경 :

회원가입/로그인 폼을 만들어 보려는데,
비밀번호 유효성 검사할때 이해하지 못한채로 복사붙여넣기하는건 아닌것같아서
정규표현식 복습도하고, 사람들이 자주 사용하는 비밀번호 유효성 검사 방식에 대해 알아보려고 한다.

1. 비밀번호 유효성 검사

1-1. 내가 생각했던 방법

/[a-zA-Z0-9!@#$%^&*-=+]/

1-2. 주로 쓰이는 방법

/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*-+])[a-zA-Z\d~!@#$%^&*-+]{8,20}$/

: 영문(대소문자)중 하나이상, 숫자 하나 이상, 특수문자 하나이상이 포함되고 8~20자인지 검사

1-3. 개념 복습

  1. 전방탐색 (lookahead) ?=

  2. . : [매칭패턴] 모든 문자열 (숫자, 한글,영어,특수기호,공백 모두)

  3. * : [반복패턴] 없거나 있거나(여러개)

1-4. /[a-zA-Z]/ vs /(?=.*[a-zA-Z])/

/[a-zA-Z]/ vs /(?=.*[a-zA-Z])/
둘을 설명하는 방식은 다른데 사실 영문 대소문자가 존재하는지 확인하는건 같은것같고
왜 후자가 자주 사용되는지 궁금한데 아직 이유를 찾지 못했다.

1-5. 오류 났던것!

특수문자에서 = 를 넣었었는데 어디에 연산자(+나 -) 근처에 위치시키니까 에러가 났다.
그래서 = 는 특수문자에서 제외시켰다.

2. regexp 설명 사이트

: 정규표현식을 설명을 해줌 링크

3. 적용해보기

커밋내역 : 651ef1e

3. 챗지피티를 활용하여 대화식으로 학습한 내용 :

https://chat.openai.com/share/c52db7ba-c142-4911-8f01-f06a64cf34cc

profile
삐약

0개의 댓글