일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Security 로그인
- SpringBoot
- react captcha
- build
- react 심플캡차
- 스프링 시큐리티 로그인
- maven
- 리액트 심플캡차
- git
- react 상태
- spring security 로그인
- 깃
- 스프링 시큐리티
- Docker
- react 자동입력방지
- 리액트 캡차
- spring error
- 속도기능개선
- 백엔드 아키텍처
- 배치파일로 JDK 버전변경
- Spring Boot
- spring
- react 캡차
- REACT
- 에러
- error
- 계층구조vs도메인구조
- Spring Security
- react simple captcha
- 스프링
Archives
- Today
- Total
I can do it(Feat. DEV)
React 회원가입 시 유효성 검사하기 본문
728x90
회원가입 중 아이디 유효성 검사를 하는데,
영문자 + 숫자 , 6자리 이상으로 정규식으로 체크를 하여 진행했음.
//기존코드
let idCheck = /^(?=.*?[A-Za-z])(?=.*?[0-9]).{6,}$/; //영문자 + 숫자 , 6자이상
//주의 ! 특수문자 포함가능임.
하지만 특수문자가 아이디에 포함되면 안 돼서
기존 정규식을 수정하거나, 특수문자를 제외하는 정규식을 만들어 한번 더 체크해야 했음.
기존 정규식을 수정하는 게 코드도 안 길어지고 좋아서 바로 갓글 검색.
영문자와 숫자만 입력할 수 있는 정규식으로 수정.
//수정코드
let idCheck = /^[A-Za-z0-9]{6,}$/; //영문자 + 숫자만 , 6자 이상
if (idCheck.test(e.target.value)) {
setValidateUserId(true); //검증 성공
} else {
setValidateUserId(false); //검증 실패 >> 에러메세지 출력
}
이와 같은 방법으로 상태 변수를 만들어서 검증 실패 시 false를 세팅한 뒤 에러 메세지를 출력함.
//위에서 체크한 상태값과 userId가 있는지 없는지 체크해서 에러 메세지를 출력함.
{!validateUserId &&
member.userId ? (
<label
style={{
color: "red",
lineHeight: 2.5
}}
>
아이디는 6자이상
15자이하 영문,숫자
조합이여야됩니다.
</label>
) : null}
이런 식으로 원하는 곳에 메세지를 띄우면 됨!!
마찬가지로 비밀번호는
//비밀번호 유효성 검사코드
let passwordCheck =
/^(?=.*?[A-Za-z])(?=.*?[0-9])(?=.*?[!@#$%^&*()-]).{6,}$/; //정규식
if (passwordCheck.test(e.target.value)) {
setValidatePassword(true);
} else {
setValidatePassword(false);
}
이런 식으로 체크해서 아이디와 똑같이 메세지를 출력함.
📢참조(정규식 관련 사이트)
https://goddino.tistory.com/267
728x90
'개발자 모드 > 응용' 카테고리의 다른 글
React Simple Captcha(자동입력방지) 추가하기(1) (0) | 2022.10.21 |
---|---|
React 토스페이먼츠 카드 전표 출력하기 (0) | 2022.10.20 |
React 게시판 목록 날짜 별로 정렬하기 (2) | 2022.10.14 |
Spring Security passwordEncoder 설정 관련 (0) | 2022.10.12 |
React 팝업창 띄우기(2) - 하루 동안 보지 않기 (0) | 2022.10.07 |