simeonshopov

Email Validator

May 27th, 2020
436
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.90 KB | None | 0 0
  1. class EmailValidator:
  2.     def __init__(self, min_length: int, mails: list, domains: list):
  3.         self.min_length = min_length
  4.         self.mails = mails
  5.         self.domains = domains
  6.  
  7.     def __validate_name(self, name):
  8.         return len(name) >= self.min_length
  9.  
  10.     def __validate_mail(self, mail):
  11.         return mail in self.mails
  12.  
  13.     def __validate_domain(self, domain):
  14.         return domain in self.domains
  15.  
  16.     def validate(self, email: str):
  17.         if email and '@' in email:
  18.             symbol = email.index('@')
  19.             name = email[:symbol]
  20.             dot_idx = email.index('.')
  21.             mail = email[symbol + 1:dot_idx]
  22.             domain = email[dot_idx + 1:]
  23.             if EmailValidator.__validate_name(self, name) and EmailValidator.__validate_mail(self, mail) and EmailValidator.__validate_domain(self, domain):
  24.                 return True
  25.             return False
Advertisement
Add Comment
Please, Sign In to add comment