C# MailAddress构造函数如何验证邮件地址
在阅读有关通过正则表达式验证邮件地址的最佳方法时,我遇到了一个使用C# MailAddress构造函数如何验证邮件地址,c#,C#,在阅读有关通过正则表达式验证邮件地址的最佳方法时,我遇到了一个使用 try { new MailAddress(input); } catch (Exception ex) { // invalid } maildaddress类使用什么方法来确保邮件地址有效?如果您指的是验证它是否是有效的电子邮件地址格式,它支持几种标准格式: MailAddress类支持以下邮件地址格式: 一种简单的地址格式user@host. 如果未设置DisplayName, 这是生成的邮件地址格式 “
try
{
new MailAddress(input);
}
catch (Exception ex)
{
// invalid
}
maildaddress
类使用什么方法来确保邮件地址有效?如果您指的是验证它是否是有效的电子邮件地址格式,它支持几种标准格式:
MailAddress类支持以下邮件地址格式:
一种简单的地址格式user@host. 如果未设置DisplayName,
这是生成的邮件地址格式
“显示名称”的标准引用显示名称格式。
如果设置了DisplayName,则这是生成的格式
在“显示”的用户名、主机名周围添加了尖括号
“姓名”user@host如果这些不包括在内
在DisplayName的DisplayName周围添加引号,
如果这些不包括在内
DisplayName中支持Unicode字符。财产
带引号的用户名。例如,“用户名”@host
用户名中的连续点和尾随点。例如
user…name..@host
括号内的域文字。例如
评论。例如,“注释”显示
名称“(注释)(注释)。
在传输之前删除注释
这是从
至于它使用什么方法来验证格式,我不知道。您可以随时尝试查看Reflector的内部功能。您想知道内部细节有什么特别的原因吗?根据
address参数可以包含显示名称和关联的
电子邮件地址(如果将地址括在尖括号中)。对于
例如:
“汤姆·史密斯”
显示名称和角度之间允许空白
括号
所以一个“裸体”地址,比如tsmith@contos.com或者使用文档中提到的显示名称也可以。在没有访问代码的情况下,不可能知道验证是如何在内部完成的,但是当然可以构造一个进行验证的正则表达式。您可以在不使用新的Reflector的情况下查看源代码。这是该课程的链接。如果你可以访问Reflector或其他“反编译器”,你可以看看。纯粹是好奇。我想知道它是如何确定您是否提供了有效的邮件地址的。与其说它需要什么参数,不如说它如何验证邮件地址本身。然后Reflector或其他反编译器(如ILDASM,如果您没有其他可用的话)会让您了解内部代码在做什么以及它是如何做的。