电子邮件验证:正则表达式的陷阱
>>正则表达式(REGEX)经常用于电子邮件验证,但它们的限制可能导致结果不准确。 让我们检查一下典型的正则方法的弱点。
考虑这种常见的正则态度模式:
<code>@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$"</code>
这个尝试匹配的尝试:
([w.-] )
:用户名部分(例如,“示例”)。([w-] )
:域(例如,“ com”)。((.(w){2,3}) )$
:顶级域(TLDS) - 两个或三个字符。
>
>为什么此正则是失败的:>
MailAddress
System.Net.Mail.MailAddress
(对于.net 5):
总而言之,虽然正则是有帮助的,但其电子邮件验证中的局限性使其不可靠。 使用MailAddress.TryCreate
类或提供了一种更加可靠,更准确的方法来验证电子邮件地址。MailAddress.TryCreate
以上是为什么正则表达式不足以用于鲁棒的电子邮件验证?的详细内容。更多信息请关注PHP中文网其他相关文章!