验证电子邮件地址(ASP.NET)

我有一个asp.net web表单,我可以输入一个电子邮件地址。

我需要在下面的pettern中使用电子邮件地址验证该字段:

xxx@home.co.uk xxx@home.com xxx@homegroup.com

请帮忙


正则表达式来验证这将是:

^[A-Z0-9._%+-]+((@home.co.uk)|(@home.com)|(@homegroup.com))$

C#示例:

string emailAddress = "jim@home.com";
string pattern = @"^[A-Z0-9._%+-]+((@home.co.uk)|(@home.com)|(@homegroup.com))$";
if (Regex.IsMatch(emailAddress, pattern, RegexOptions.IgnoreCase))
{
    // email address is valid
}

VB示例:

Dim emailAddress As String = "jim@home.com"
Dim pattern As String = "^[A-Z0-9._%+-]+((@home.co.uk)|(@home.com)|(@homegroup.com))$";
If Regex.IsMatch(emailAddress, pattern, RegexOptions.IgnoreCase) Then
    ' email address is valid
End If

以下是我将如何使用System.Net.Mail.MailAddress进行验证:

bool valid = true;
try
{
    MailAddress address = new MailAddress(email);
}
catch(FormatException)
{
    valid = false;
}

if(!(email.EndsWith("@home.co.uk") || 
     email.EndsWith("@home.com") || 
     email.EndsWith("@homegroup.com")))
{
    valid = false;
}

return valid;

MailAddress首先验证它是一个有效的电子邮件地址。 然后剩下的验证它以你需要的目的地结束。 对我而言,每个人都比一些看起来笨拙的正则表达式更容易理解。 它可能不像正则表达式那样具有表现性,但它听起来并不像你在一个循环中验证它们中的一群......在网页上一次只有一个


根据您使用的ASP.NET版本,您可以在“验证”下的工具箱中使用表单验证控件之一。 这可能比回发之后建立自己的逻辑更可取。 有几种类型可以拖动到表单并与控件关联,并且您还可以自定义错误消息和定位。

有几种类型可以使其成为必需字段或确保其在一定范围内,但您可能需要正则表达式验证程序。 您可以使用已经显示的表达式之一,或者我认为Visual Studio可能会提供一个示例电子邮件地址。

链接地址: http://www.djcxy.com/p/92819.html

上一篇: Validation of email addresses (ASP.NET)

下一篇: mail with regular expression VB.Net