일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리액트 심플캡차
- myBatis
- jpa
- react captcha
- git
- 리액트 캡차
- 스프링
- react 캡차
- spring error
- Spring Boot
- Docker
- 젠킨스
- react 심플캡차
- spring security 로그인
- CI
- error
- react simple captcha
- build
- 스프링 시큐리티
- react 자동입력방지
- 깃
- ChatGPT
- maven
- Security 로그인
- react 상태
- Spring Security
- REACT
- 에러
- SpringBoot
- 스프링 시큐리티 로그인
- Today
- Total
I can do it(Feat. DEV)
React 회원가입 시 유효성 검사하기 본문
회원가입 중 아이디 유효성 검사를 하는데,
영문자 + 숫자 , 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
[js] 비밀번호 영문 숫자 조합 8자리 이상, 영문 숫자 특수기호 조합 8자리 이상 체크 (ft. 정규식)
비밀번호 유효성 검사에 사용되는 정규식입니다. 비밀번호 영문 숫자 조합 8자리 이상 (정규식) let regPass = /^(?=.*[a-zA-Z])(?=.*[0-9]).{8,25}$/; if (!regPass.test(password)) alert("영문, 숫자 조합으로 8-20자리
goddino.tistory.com
[JS] 정규표현식(특수문자, 숫자 등)
정규 표현식은 문자열에 나타는 특정 문자 조합과 대응시키기 위해 사용되는 패턴이다. 이 패턴들은 RegExp의 exec 메소드와 test 메소드 ,그리고 String의 match메소드 , replace메소드 , search메소드 , spli
velog.io
'개발자 모드 > 응용' 카테고리의 다른 글
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 |