小编hej*_*jto的帖子

针对无效字符验证电子邮件地址

在验证电子邮件地址时,我尝试使用以下两个EmailAddressAttributeSystem.ComponentModel.DataAnnotations

[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }
Run Code Online (Sandbox Code Playgroud)

MailAddress类从System.Net.Mail做:

bool IsValidEmail(string email)
{
    try {
        var addr = new System.Net.Mail.MailAddress(email);
        return addr.Address == email;
    }
    catch {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

按照C# 代码中的建议验证电子邮件地址。这两种方法原则上都有效,它们会捕获无效的电子邮件地址,例如user@,不符合格式的user@host

我的问题是这两种方法都没有检测到用户字段中的无效字符,例如æ, ø, or å (e.g. åge@gmail.com). 为什么这些字符不返回验证错误有什么原因吗?是否有人对如何在用户字段中合并无效字符的验证有一个优雅的解决方案?

.net c# asp.net email email-validation

5
推荐指数
1
解决办法
2886
查看次数

标签 统计

.net ×1

asp.net ×1

c# ×1

email ×1

email-validation ×1