Проверьте, что адрес электронной почты допустим на iOS [дубликат]

200
задан Community 23 May 2017 в 02:02
поделиться

1 ответ

для проверки строки email вам нужно написать регулярное выражение, чтобы проверить, что оно имеет правильную форму. в интернете их много, но будьте осторожны, так как некоторые могут исключать те адреса, которые на самом деле являются легальными.

По сути, это будет выглядеть примерно так

^((?>[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+\x20*|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*"\x20*)*(?<angle><))?((?!\.)(?>\.?[a-zA-Z\d!#$%&'*+\-/=?^_`{|}~]+)+|"((?=[\x01-\x7f])[^"\\]|\\[\x01-\x7f])*")@(((?!-)[a-zA-Z\d\-]+(?<!-)\.)+[a-zA-Z]{2,}|\[(((?(?<!\[)\.)(25[0-5]|2[0-4]\d|[01]?\d?\d)){4}|[a-zA-Z\d\-]*[a-zA-Z\d]:((?=[\x01-\x7f])[^\\\[\]]|\\[\x01-\x7f])+)\])(?(angle)>)$

На самом деле проверить, существует ли письмо и не отскакивает ли оно, значит отправить письмо и посмотреть, каков результат, т.е. отскочило оно или нет. Однако он может не отскакивать в течение нескольких часов или вообще не отскакивать и все равно не быть "настоящим" адресом электронной почты. Существует ряд сервисов, которые якобы делают это за вас и, вероятно, оплачиваются вами, и, откровенно говоря, зачем беспокоиться о том, настоящий ли он?

Хорошо бы проверить, не ошибся ли пользователь в написании своего электронного адреса, иначе он может ввести его неправильно, не понять этого и потом взломать вас за то, что вы не ответили. Однако если кто-то захочет добавить адрес электронной почты бездельника, ничто не помешает ему создать его на hotmail или yahoo (или во многих других местах) для достижения той же цели.

Так что используйте регулярные выражения и проверяйте структуру, но забудьте о проверке на сервисе.

3
ответ дан 23 November 2019 в 05:05
поделиться