Regex 电子邮件地址的域部分可以是IP地址吗?
我正在尝试构建一个正则表达式来检测有效的电子邮件。我已经阅读了一些关于堆栈溢出的文章。我还阅读了,其中描述了电子邮件地址的不同组成部分:Regex 电子邮件地址的域部分可以是IP地址吗?,regex,ip-address,email-validation,Regex,Ip Address,Email Validation,我正在尝试构建一个正则表达式来检测有效的电子邮件。我已经阅读了一些关于堆栈溢出的文章。我还阅读了,其中描述了电子邮件地址的不同组成部分: addr-spec = local-part "@" domain local-part = dot-atom / quoted-string / obs-local-part domain = dot-atom / domain-literal / obs-domain dom
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 "\"
有人能用简单的英语解释一下上面的定义吗?它是否允许发送电子邮件,如info@[192.168.0.1]
我知道我不必重新发明轮子,而且有一些很好的库可以用来验证电子邮件。我只想了解引擎盖下的工作原理。在PHP中,您可以使用FILTER\u VALIDATE\u EMAIL。不需要LIB
<?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");
}
?>
在PHP中,您可以使用FILTER\u VALIDATE\u电子邮件。不需要LIB
<?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");
}
?>
为什么要构建已经存在的东西?如果不是出于教育目的,请不要进行自己的电子邮件验证。为什么要构建已经存在的东西?如果不是出于教育目的,请不要自行进行电子邮件验证。