Django regex проверка строк для электронных писем, включающих международные символы
Чтобы разрешить только международные символы в локальной части, я пытаюсь расширить класс EmailValidator следующим образом:
class EmailValidator(_EmailValidator):
"""
This is meant to mirror the Django version but override the user_regex to allow for more unicode chars
"""
user_regex = _lazy_re_compile(
r"^\w[a-zA-Z0-9èéàáâãäçêìíîñòóôöäüÖÄÜ\.\-_]", # too vague
re.IGNORECASE)
Очевидно, что в моей строке regex есть некоторые дыры. В идеале это должно соответствовать стандартам RFC 5322. У меня есть несколько тестовых писем, которые должны пройти:
- piny@tineapples.com - valid
- tinä@turner.com - valid
- pinéapplé@lol.com - valid
- pinéa@pplé@lol.com - invalid
- kînda.prétty.ãmazonian1539@pastasauce.co - valid