Может ли доменная часть адреса электронной почты быть IP-адресом? - PullRequest
1 голос
/ 07 марта 2020

Я пытаюсь создать регулярное выражение для обнаружения действительного электронного письма. Я просмотрел несколько статей здесь о переполнении стека. Я также читал раздел 3.4.1 RF C 2822 , в котором описаны различные компоненты адреса электронной почты:

addr-spec       =       local-part "@" domain

local-part      =       dot-atom / quoted-string / obs-local-part

domain          =       dot-atom / domain-literal / obs-domain

domain-literal  =       [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]

dcontent        =       dtext / quoted-pair

dtext           =       NO-WS-CTL /     ; Non white space controls

                        %d33-90 /       ; The rest of the US-ASCII
                        %d94-126        ;  characters not including "[",
                                        ;  "]", or "\"

В простом английском языке sh можно кто-нибудь объяснит определение выше? Позволяет ли это для электронной почты, такой как info@[192.168.0.1]?

Я знаю, что мне не нужно заново изобретать колесо, и что есть хорошие библиотеки, которые я могу использовать для проверки электронной почты. Я просто хочу понять, как все работает под капотом.

1 Ответ

0 голосов
/ 13 марта 2020

В PHP вы можете использовать FILTER_VALIDATE_EMAIL. Нет необходимости в библиотеках

<?php
$email = "john.doe@example.com";

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
  echo("$email is a valid email address");
} else {
  echo("$email is not a valid email address");
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...