fix: 비밀번호 정규표현식
비밀번호 요구사항에 맞게 정규표현식 다시 씀
예)
"^(?=.*[someChars])[someChars]"
(?=.*[someChars])
<- 하나라도 있나 검사
[someChars]
<- 얘들로만 구성되어야 함
ref .
https://regexr.com/
연습하기 좋은 사이트
https://mkyong.com/regular-expressions/how-to-validate-password-with-regular-expression/
처음에 이곳에서 스니펫 가져와서 썼는데, 내 환경에서는 사이트 예시와 달리 특수문자 [
]
-
앞에 \\
붙여야 정상적으로 인식했음.
"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[특수문자]).{8,20}$";
변경전
"^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[특수문자])[0-9a-zA-Z특수문자]{8,15}$"
변경후
[0-9a-zA-Z특수문자]
로만 이루어져 있나 검사하려고 뒤에 추가해줌
@Pattern(regexp = "^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!\"#$%&'()*+,\\-./:;<=>?@\\[₩\\]^_`{|}~])"
+ "[0-9a-zA-Z!\"#$%&'()*+,\\-./:;<=>?@\\[₩\\]^_`{|}~]{8,15}$"
, message = "비밀번호 규칙에 어긋남")
PR 하기 전에 최소한 테스트는 하자...
테스트도 안하고 PR 했더니 페어한테 미안한 상황이 되버림. 앞으로는 이러지 말자