티스토리 뷰
-problem
이번 클론코딩 프로젝트에서 회원가입 / 로그인 파트를 맡게 되었다.
여기에서 사용자의 핸드폰번호, 닉네임, 생년월일, 비밀번호를 검증해야하는 문제가 있었다.
-what I tried
일단 정규식을 작성했으나, 검증이 완벽히 되지 않는 문제가 있었다.
그냥 알고있는 수준에서는 해결할 수가 없어 검색을 하기로 했다.
-my answer
생년월일과 비밀번호 검증에서 새로운 것을 알게 되었다.
아래는 생년월일을 검증하기 위한 정규식이다.
^\\d{2}([0]\\d|[1][0-2])([0][1-9]|[1-2]\\d|[3][0-1])$
\\d{2}연도 두 자리는 아무거나 와도 되니까 따로 조건을 걸지 않고 숫자만 오면 상관없게 하였다!
([0]\\d|[1][0-2]) 월의 경우 앞자리가 0이면 뒤에는 1-9만 오도록 하고,
앞의 자리가 1인 경우에는 0,1,2만 올 수 있도록 하였다.
([0][1-9]|[1-2]\\d|[3][0-1]) 일의 경우 앞자리가 0이면 뒤에는 1-9, 1이나 2인 경우엔 숫자 아무거나, 3인 경우에는 0이나 1만 올 수 있도록 했다.
아래는 비밀번호 검증을 위한 정규식이다.
^(?=.*[A-Za-z])(?=.*\\d)[A-Za-z\\d]{8,12}$
-I learned!
생년월일 정규식을 통해 or연산 하듯 |을 통해 조건을 걸 수 있다는 것을 알게 되었다.
또한
?= 뒷부분을 확인하겠다,
.* 하나라도 있는 지 체크!
.은 어떤 한 개의 문자, *은 앞의 문자가 0개 이상 있음을 의미한다는 것을 알게 되었다.
'Learned!' 카테고리의 다른 글
redisson에서 elasticache에 연결이 안되는 문제 /connection timed out: ~~~~~~ (0) | 2023.02.25 |
---|---|
로드밸런싱 (0) | 2023.01.30 |
jwt 토큰의 claim을 이용해 주문 생성시간 가져오기 (0) | 2023.01.15 |
NonUniqueResultException: query did not return a unique result: 2 에러 (0) | 2023.01.11 |
게시글 / 댓글 좋아요 기능 제작할 시, 어떻게 카운팅을 할까 (0) | 2023.01.10 |
댓글
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- pessimisticlock
- jwt
- 동적크롤링
- 프로그래머스
- 인덱스
- 토큰
- jmeter로그인
- hackerrank
- Java
- EC2
- 부하테스트시나리오
- 스프링faker
- jmeter부하테스트
- jmeter세션
- bankersRounding
- jmeter쿠키
- jmeter시나리오
- Python
- index
- CheckedException
- jmeter토큰
- 자바
- 대규모더미데이터
- Spring
- CorrectnessAndTheLoopInvariant
- Redisson
- 항해
- Redis
- Lock
- jmeter테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함