C#正则表达式验证email是否合法

C#正则表达式验证email是否合法,本文很早以前在发布到网上的博文整理,里面的代码或许没有过时,至于用于最新.net core的代码是否能够保证没有问题,并没有去测试,想来都是微软的技术,使用此方式对email进行合法性校验问题不大。

本文很早以前在发布到网上的博文整理,里面的代码或许没有过时,至于用于最新.net core的代码是否能够保证没有问题,并没有去测试,想来都是微软的技术,使用此方式对email进行合法性校验问题不大。

C#正则表达式验证email是否合法
4个提高电子邮件营销技能以增加销售额

C#正则表达式

在做互联网项目的开发过程中,经常验证电子邮件格式的问题,对于此类的处理方式,想必大部分人都是使用正则表达式来验证;如下面的常见代码:

        /// <summary>
        /// 检查是否是正确Email地址
        /// </summary>
        /// <param name="emailAddress"></param>
        /// <returns></returns>
        public static bool CheckEmail(string emailAddress)
        {
            return Regex.IsMatch(emailAddress, @"^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$");
        }

对于这种常见的代码,验证比较常见的邮箱格式是没有问题的,如:[email protected];不过有的屌丝的邮箱是类似这种格式的,但它却是正确的电子邮件地址,如下:

[email protected];备注:此邮箱地址纯属举例,如有雷同,纯属巧合

对于这种格式的电子邮件地址,上面的代码返回值是False;如果这时候在你做的互联网项目中,客服接到客户的投诉电话说:“你们的网站做得真JB烂啊,我输入正确的邮件地址,总是提示老子错误”;这个时候客服和研发团队成员要崩溃了…;这时候苦逼了程序猿了,,Debug半天原来发现是这个正则错了。。。;这个时候维护人员心里面直骂娘,这TMD谁写的啊,坑死爹了啊。。

相信大家都遇到过这种问题,代码没有经过严格测试,随便在网上抠一段代码来简单输入几个测试用例应付差事完事;如果经过严格的测试,相信上面的场景是不会发生的了。对于锅内软件从业者的现状,圈里人都知道,也不便说什么了;现在就说说与程序员相关的问题吧。

像验证电子邮件地址是否合法这种技术活,方式太多了;只要能达到目的,不管你采取什么手段,解决问题最重要;不过对于懒人来说,自然有懒人的办法,.net的内裤里面虽然没有直接提供验证电子邮件的方法,不过可以利用一个叫MailAddress类来达到目的,废话不多说,直接上代码:

class Program
    {
        static void Main(string[] args)
        {

            string address = null;
            try
            {
                address = new MailAddress("[email protected]").Address;
            }
            catch (FormatException ex)
            {

                Console.WriteLine(ex.Message);
            }
            Console.WriteLine(address);
            Console.WriteLine(CheckEmail("[email protected]"));
        }

        /// <summary>
        /// 检查是否是正确Email地址
        /// </summary>
        /// <param name="emailAddress"></param>
        /// <returns></returns>
        public static bool CheckEmail(string emailAddress)
        {
            return Regex.IsMatch(emailAddress, @"^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$");
        }      
    }

看到了吧,一了百了。英文好的朋友可以使用:How to validate an email address using a regular expression? 在stackoverflow上搜索。

C#正则表达式验证email是否合法 1
email验证

加入电报群

【江湖人士】(jhrs.com)原创文章,作者:江小编,如若转载,请注明出处:https://jhrs.com/2019/28378.html

扫码加入电报群,让你获得国外网赚一手信息。

文章标题:C#正则表达式验证email是否合法

(1)
江小编的头像江小编
上一篇 2019-06-13 21:41
下一篇 2019-06-14 16:39

热门推荐

Leave a Reply

Sending

国外老牌便宜域名服务商Namecheap注册com域名大优惠,抢到就赚到,优惠码:NEWCOM698
$5.98/年
直达官网