我有一个ASP.NET Web表单,我可以在其中输入电子邮件地址.
我需要在以下模式中使用可接受的电子邮件地址验证该字段:
xxx@home.co.uk
xxx@home.com
xxx@homegroup.com
Run Code Online (Sandbox Code Playgroud)
用于验证这一点的正则表达式将是:
^[A-Z0-9._%+-]+((@home\.co\.uk)|(@home\.com)|(@homegroup\.com))$
Run Code Online (Sandbox Code Playgroud)
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
}
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
以下是我将如何使用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;
Run Code Online (Sandbox Code Playgroud)
MailAddress首先验证它是有效的电子邮件地址.然后其余的验证它以您需要的目的地结束.对我来说,这比每个看起来笨拙的正则表达式更容易理解.它可能不像正则表达式那样高效,但它听起来并不像你在循环中验证它们中的一堆......在网页上一次只有一个
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |