이것저것 코드/파이썬
[파이썬] 이메일 주소 유효성 검사
원-스텝
2022. 9. 1. 21:25
반응형
올바른 이메일인가요?
이 실습에서는 이메일 주소의 형식이 올바른지 확인하는 함수를 구현해 봅니다. 실제로 많은 웹사이트에서 회원가입 시에 이메일 주소의 형식을 체크하고, 올바르지 않다면 사용자에게 경고를 띄워 주고 있습니다.
올바른 이메일 형식은 다음의 조건들을 만족합니다.
하나의 @을 포함하는 문자열이어야 합니다.
@을 기준으로 뒤쪽 부분이 도메인입니다. 도메인은 최소 한 개 이상의 .을 포함해야 하며, 연속된 .을 가질 수 없습니다.
우리가 구현할 validate_email(email) 함수는 이메일 주소를 매개변수로 받아, 이 주소가 위의 조건을 만족하는지 확인합니다. 만족하면 True, 아니면 False를 리턴합니다.
이 함수를 구현하기 위해, 파이썬 문자열(str)의 기본 메소드인 .count()와 .split()을 사용합니다.
a.count(b) 메소드는 a 문자열에 b 문자열이 몇 개 포함되어 있는지 리턴합니다.
spell = "abracadabra" print(spell.count("a"))
# 5
a.split(b) 메소드는 주어진 문자열 a를 b 기준으로 쪼개어 문자열의 리스트를 리턴합니다.
domain = "www.google.com" print(domain.split("."))
# ["www", "google", "com"]
def validate_email(email):
# 주소가 문자열인지 확인합니다.
if type(email) is not str:
return False
# 주소가 하나의 @을 포함하는지 확인합니다.
if email.count('@') != 1:
return False
# 주소에서 도메인을 추출합니다.
domain = email.split('@')[1]
# 도메인이 하나 이상의 점을 포함하는지 확인합니다.
if domain.count('.') < 1:
return False
# 도메인을 점 기준으로 쪼개고, 연속하는 점이 없는지 확인합니다.
# 아래의 코드는 완성되어 있습니다. 코드를 이해해 보세요.
parts = domain.split(".")
for part in parts:
if part == "":
return False
return True
반응형