Validating Email Addresses With a Filter

Sort by

recency

|

621 Discussions

|

  • + 0 comments
    import re
    
    def fun(s):
        return re.match(r"^[\w-]+@[a-zA-Z0-9]+\.[a-zA-Z]{1,3}$", s) is not None
    
  • + 0 comments
    def fun(s):
        try:
            n, m = s.split("@")
            w, e = m.split(".", 1)
        except ValueError:
            return False
        if not n or not w or not e:
            return False
        sp= "_-"
        def cond1(n):
            for i in n:
                if not (i.isupper() or i.islower() or i.isdigit() or i in sp):
                    return False
            return True
            
        def cond2(w):
            for i in w:
                if not (i.isupper() or i.islower() or i.isdigit()):
                    return False
            return True
            
            
        def cond3(e):
            if len(e) > 3:
                return False
            for i in e:
                if not (i.isupper() or i.islower()):
                    return False
            return True
        result = all([cond1(n),cond2(w),cond3(e)])
        return result
                
    
  • + 0 comments

    using python functionals (No regex)

    extname = s[compsep+1:]
    
    if not (username and compname and extname):
        return False
    if not (username == ''.join(list(filter(lambda c: c.isalnum() or c in '_,-', username)))):
        return False
    if not (compname == ''.join(list(filter(lambda c: c.isalnum(), compname)))):
        return False
    if not (extname == ''.join(list(filter(lambda c: c.isalnum(), extname))) and len(extname) <= 3):
        return False
    return True
    
  • + 0 comments
    import re
    def fun(s):
        try:
            username, website = s.split("@")
            web, extension = website.split(".", 1)
        except ValueError:
            return False
    
        username_pattern = r'^[a-zA-Z0-9_-]+$'
        web_pattern = r'^[a-zA-Z0-9]+$'
        extension_pattern = r'^[a-z]+$'
    
        if re.match(username_pattern, username) and re.match(web_pattern, web) and re.match(extension_pattern, extension) and 1<= len(extension)<=3:
            return True
        return False
    
  • + 0 comments

    import re def fun(s): pattern = r'^[\w-]+@[a-zA-Z0-9]+.[a-zA-Z]{1,3}$' return bool(re.match(pattern, s))