- 이메일 유효성 검사:
@
,.
순서와 포함 여부
import re
def is_email_valid(email):
REGEX_EMAIL = '([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+'
if not re.fullmatch(REGEX_EMAIL, email):
return "이메일 형식을 확인하세요."
- 비밀번호 유효성 검사: 8자리 이상, 1개 이상의 소문자, 대문자, 숫자, 특수문자 포함 여부
def is_password_valid(password):
REGEX_PASSWORD = '^(?=.*[\d])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*()])[\w\d!@#$%^&*()]{8,}$'
if not re.fullmatch(REGEX_PASSWORD, password):
return "비밀번호를 확인하세요. 최소 1개 이상의 소문자, 대문자, 숫자, 특수문자로 구성되어야 하며 길이는 8자리 이상이어야 합니다."
- URL 유효성 검사
def is_url_valid(url):
REGEX_URL = '[(http(s)?):\/\/(www\.)?a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}([-a-zA-Z0-9@:%_\+.~#?&//=]*)'
if not re.fullmatch(REGEX_URL, url):
raise ValidationError("INVALID_URL")
참고 자료:
- 정규 표현식의 이해: https://towardsdatascience.com/easiest-way-to-remember-regular-expressions-regex-178ba518bebd
- 파이썬 정규 표현식: https://sooftware.io/regex/
- 더 많은 파이썬 정규 표현식 패턴 확인 및 테스트: https://regexr.com/
반응형
'TIL' 카테고리의 다른 글
HTTP 요청 GET POST 차이점 정리 - TIL 8 (0) | 2022.01.19 |
---|---|
장고 모델에서 Q () 연산자 (or) 사용하는 방법 - TIL 7 (0) | 2022.01.18 |
장고 db_table 이름 지정과 활용 방법 - TIL 5 (0) | 2022.01.12 |
데이터 유형과 데이터베이스 종류 - TIL 4 (0) | 2022.01.11 |
파이썬 리스트에서 홀수 제외하기 - TIL 3 (0) | 2022.01.05 |