티스토리 뷰
-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
- Python
- jmeter토큰
- Java
- jmeter시나리오
- Spring
- jmeter부하테스트
- Redisson
- jmeter세션
- CheckedException
- 인덱스
- 프로그래머스
- bankersRounding
- 스프링faker
- jmeter로그인
- EC2
- jmeter쿠키
- 자바
- jwt
- CorrectnessAndTheLoopInvariant
- index
- hackerrank
- 대규모더미데이터
- 항해
- 동적크롤링
- jmeter테스트
- 토큰
- pessimisticlock
- Redis
- Lock
- 부하테스트시나리오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함