Я предлагаю взглянуть на библиотеки, такие как validate. js.
Полностью нативный способ, такой как <input type="email>"
, недоступен в React Native. Regex действительно проблематичен c для адресов электронной почты, поскольку таких случаев невероятно много, и любые регулярные выражения с большой вероятностью вызовут ложные срабатывания или наоборот. Официальное регулярное выражение RFC822 крайне неясное и медленное. Хорошие библиотеки проверки используют парсеры BNF, чтобы сделать этот процесс более эффективным.
Как инженер по безопасности, я должен отметить, что внешней проверки никогда не бывает достаточно, независимо от того, насколько она хороша.
Запросы могут быть легко подделаны, что делает проверку бэкэнда обязательной для всех случаев. Просто отправьте электронное письмо на указанный адрес и попросите пользователя щелкнуть уникальную ссылку в нем, которую вы сопоставляете с вызовом validationCompleted
в своем приложении.