C#MVC 4应用程序中的电子邮件地址验证:使用或不使用Regex

 哀公家园_678 发布于 2023-02-12 17:22

我有一个MVC 4 Web应用程序,我需要输入并验证一些电子邮件地址,而不向用户的电子邮件地址发送电子邮件.

目前我正在使用此模式的基本正则表达式电子邮件验证:

[RegularExpression(@"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z",
        ErrorMessage = "Please enter correct email address")]

虽然这是验证电子邮件地址,但它会将1@1.1作为有效的电子邮件地址传递.目前我有一个需要符号@符号的验证.符号可以是数字/字母和._-的符号.

我的MVC 4应用程序需要更多标准的电子邮件验证.我怎么做?

3 个回答
  • 扩展Ehsan的答案 ....

    如果您使用的是.Net framework 4.5,那么您可以使用一种简单的方法来使用EmailAddressAttributeClass in code 来验证电子邮件地址.

    private static bool IsValidEmailAddress(string emailAddress)
    {
        return new System.ComponentModel.DataAnnotations
                            .EmailAddressAttribute()
                            .IsValid(emailAddress);
    }
    

    如果您正在考虑REGEX验证电子邮件地址,请阅读:

    我知道如何验证电子邮件地址,直到我阅读RFC由Phil Haack

    2023-02-12 17:24 回答
  • 正则表达式:

    [RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Please enter a valid e-mail adress")]
    

    或者您可以使用:

        [DataType(DataType.EmailAddress)]
        public string Email { get; set; }
    

    2023-02-12 17:24 回答
  • 你需要一个正则表达式.你看这里.如果您使用的是.net Framework4.5,那么您也可以使用它.因为它是在.net Framework 4.5中构建的.例

    [EmailAddress(ErrorMessage = "Invalid Email Address")]
    public string Email { get; set; }
    

    2023-02-12 17:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有