@My1Name

Какие символы разрешены в email?

Какие символы из нижеприведённого массива разрешены, и какие не учтены для использования в e-mail адресе?
String [] emailEexcludeSymbols = {"&","?","=","+","#","%","}","{","\\","[","]","|","^","<",">","*","$","!","~","`",",",";","(",")","'","\""};
  • Вопрос задан
  • 5517 просмотров
Решения вопроса 1
Список формально разрешённых символов тебе ничего не даст, тк по спецификации - это практически все печатаемые ascii-символы + ещё какие-то международные символы из юникода, но практически никто на 100% спецификации не следует.

Лучше ограничить себя тем, что может отправить твой почтовый сервер:
1. Сделай обязательным наличие собаки и каких-то (любых) символов до и после неё.
2. Сделай попытку отправить письмо на эту почту и обязуй пользователя перейти по ссылке из письма для продолжения регистрации.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
Aetae
@Aetae
Тлен
Всё фигня, вот такой регулярки достаточно: /^\S+@\S+$/. Да это чуть шире чем можно, но именно что чуть, нет никакого смысла заморачиваться с чем-то большим. Не пройдёт письмо один раз из миллиона, ну и ладно.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
типичный регексп такой
[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
очевидно, что идут лесом не латинские буквы, например

если очень хочется к основам - RFC вот https://datatracker.ietf.org/doc/html/rfc5322 ,
но не надейся - адреса там ссылаются в том числе на другие протоколы, хе-хе

поэтому где-то можно найти примерно такое:

• Латинские буквы в верхнем и нижнем регистре: A-Z и a-z
• Цифры от 0 до 9
• Специальные символы: ! # $ % & ' * + - / = ? ^ _ ` { | } ~
• Точка . (не первый или последний символ или не повторяется)
• Двойная кавычка " (только в локальной части и должна быть экранирована обратным слешем )
• Пробел и специальные символы ( ) , : ; < > @ [ ] (только в локальной части и должны быть заключены в двойные кавычки)
Ответ написан
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Использую вот такую регулярку (не моя, често спиз....я в тырнете)
_regexp="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы