验证电子邮件地址(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