회원가입/로그인 폼을 만들어 보려는데,
비밀번호 유효성 검사할때 이해하지 못한채로 복사붙여넣기하는건 아닌것같아서
정규표현식 복습도하고, 사람들이 자주 사용하는 비밀번호 유효성 검사 방식에 대해 알아보려고 한다.
/[a-zA-Z0-9!@#$%^&*-=+]/
/^(?=.*[a-zA-Z])(?=.*\d)(?=.*[!@#$%^&*-+])[a-zA-Z\d~!@#$%^&*-+]{8,20}$/
: 영문(대소문자)중 하나이상, 숫자 하나 이상, 특수문자 하나이상이 포함되고 8~20자인지 검사
전방탐색 (lookahead) ?=
.
: [매칭패턴] 모든 문자열 (숫자, 한글,영어,특수기호,공백 모두)
*
: [반복패턴] 없거나 있거나(여러개)
/[a-zA-Z]/
vs /(?=.*[a-zA-Z])/
둘을 설명하는 방식은 다른데 사실 영문 대소문자가 존재하는지 확인하는건 같은것같고
왜 후자가 자주 사용되는지 궁금한데 아직 이유를 찾지 못했다.
특수문자에서 = 를 넣었었는데 어디에 연산자(+나 -) 근처에 위치시키니까 에러가 났다.
그래서 = 는 특수문자에서 제외시켰다.
: 정규표현식을 설명을 해줌 링크
커밋내역 : 651ef1e
https://chat.openai.com/share/c52db7ba-c142-4911-8f01-f06a64cf34cc