Не уверен, есть ли доступное решение, но не удалось найти. Так что прошу еще раз.Regex для проверки международной электронной почты
Я пишу валидатор электронной почты. Это должно проверить все хорошо сформированные электронные письма (это всего лишь один уровень проверки, чтобы проверить, что письмо хорошо сформировано). Теперь, когда мой код является международным кодом, я также должен поддерживать не латинские символы. Как написать для этого наиболее эффективное Regex?
Международные Письма: http://en.wikipedia.org/wiki/International_email
Некоторые примеры писем:.
- 伊昭傑 @ 郵件 商務
- राम@मोहन.ईन्फो
- юзер@екзампл.ком
- θσερ @ εχαμπλε.ψομ
Он должен иметь возможность подтвердить все перечисленные выше форматы.
'[^ \ s @] + @ [^ \ s @] + \. [^ \ S @] +'. (Подтверждено на www.regexpal.com, чтобы точно соответствовать всем четырем этим письмам.) Не становитесь более сложными, потому что единственный способ узнать адрес электронной почты ДЕЙСТВИТЕЛЬНО правильно, это отправить его по электронной почте, так или иначе, так что быть разрешительным. – Patashu
Вместо того, чтобы создавать регулярные выражения электронной почты, в которых говорится, что разрешено (как мы обычно делаем для английских символов), создайте регулярное выражение, в котором указано, что запрещено (например, 'x @ .xyz',' x @ a..b', 'x @ -y', 'x @ y-', 'x @ a - b' и т. д. –
Я согласен с ring0. Полная юридическая форма того, что может быть адресом электронной почты, не может быть действительно подтверждена с помощью regex - это требует больше реального анализатора.Я бы предположил, что вы просто избавились от наиболее распространенных пропусков. – jfriend00