我并不是在询问完整的电子邮件验证。

我只想知道电子邮件地址的用户名和服务器部分允许使用哪些字符。这可能过于简单化,也许电子邮件地址可以采取其他形式,但我不在乎。我只问这个简单的表格:user-name@server(例如。wild.wezyr@best-server-ever.com)以及两部分中允许的字符。


当前回答

姓名:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&'*+-/=?^_`{|}~.

服务器:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.

其他回答

检查@和。然后发送电子邮件让他们验证。

我仍然不能在互联网上20%的网站上使用我的.name电子邮件地址,因为有人搞砸了他们的电子邮件验证,或者因为它早于新地址的有效期。

在我的PHP中,我使用此检查

<?php
if (preg_match(
'/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/',
"tim'qqq@gmail.com"        
)){
    echo "legit email";
} else {
    echo "NOT legit email";
}
?>

自己试试看http://phpfiddle.org/main/code/9av6-d10r

姓名:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&'*+-/=?^_`{|}~.

服务器:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-.

您可以从维基百科文章开始:

大写和小写英文字母(a-z,a-z)数字0至9字符!#$%&'*+-/=?^ _ `{ | } ~性格(点、句号、句号),前提是它不是第一个或最后一个字符,并且不连续出现两次或多次。

简单的答案是有两个答案。你应该做什么有一个标准。对于你应该接受而不制造麻烦的行为,还有一个(更广泛的)标准。这种双重性适用于发送和接收电子邮件,但在生活中有着广泛的应用。

为您创建的地址提供良好的指南;参见:https://www.jochentopf.com/email/chars.html

要过滤有效的电子邮件,只需传递任何足以理解的信息,以查看下一步。或者开始阅读一堆RFC,小心,这里有龙。