如何在 C# 中验证电子邮件地址?

如何在 c# 中验证电子邮件地址?

在 C# 中验证电子邮件地址有多种方法。

System.Net.Mail -System.Net.Mail 命名空间包含用于将电子邮件发送到的类用于传送的简单邮件传输协议 (SMTP) 服务器。

System.Text.RegularExpressions – 表示不可变的正则表达式。

使用以下表达式

@"^([a-zA-Z0-9_-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([a-zA-Z0-9-]+.)+))([azA-Z]{2,4}|[0-9]{1,3})(]?)$"

我们可以使用 System.Net.Mail 命名空间的 MailAddress 类来验证电子邮件地址

示例

 实时演示

using System;using System.Net.Mail;namespace DemoApplication{   class Program{      public static void Main(){         try{            string email = "hello@xyzcom";            Console.WriteLine($"The email is {email}");            var mail = new MailAddress(email);            bool isValidEmail = mail.Host.Contains(".");            if(!isValidEmail){               Console.WriteLine($"The email is invalid");            } else {               Console.WriteLine($"The email is valid");            }            Console.ReadLine();         }         catch(Exception){            Console.WriteLine($"The email is invalid");            Console.ReadLine();         }      }   }}

输出

上述代码的输出为

The email is hello@xyzcomThe email is invalid

使用正则表达式的示例

我们还可以使用正则表达式来验证电子邮件地址。

示例

using System;using System.Text.RegularExpressions;namespace DemoApplication{   public class Program{      public static void Main(){         string email = "hello@xyz.com";         Regex regex = new Regex(@"^([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})(]?)$",         RegexOptions.CultureInvariant | RegexOptions.Singleline);         Console.WriteLine($"The email is {email}");         bool isValidEmail = regex.IsMatch(email);         if (!isValidEmail){            Console.WriteLine($"The email is invalid");         } else {            Console.WriteLine($"The email is valid");         }         Console.ReadLine();      }   }}

输出

上述代码的输出为

The email is hello@xyz.comThe email is valid

以上就是如何在 C# 中验证电子邮件地址?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1434965.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 10:26:40
下一篇 2025年12月16日 10:55:20

相关推荐

  • C# 中缺少哪些 C++ 功能?

    C# 是一种简单、现代、通用、面向对象的编程语言,由 Microsoft 在 Anders Hejlsberg 领导的 .NET 计划中开发。 C++ 是由 Bjarne 开发的中级编程语言Stroustrup 于 1979 年开始在贝尔实验室工作。 C++ 可以在多种平台上运行,例如 Window…

    好文分享 2025年12月17日
    000
  • C# 中的 BigInteger 类

    在 C# 中使用 BigInteger 处理大数字。要为 BigInteger 添加的程序集是 System。数值。 在 C# 中,大整数位于 System.Numerics.BigInteger 中。 语法 BigInteger 的语法 – [SerializableAttribute…

    2025年12月17日
    000
  • | 之间有什么区别?和||或者 C# 中的运算符?

    | 运算符 | 运算符计算其操作数的逻辑或。如果 x 或 y 之一评估为 true,则 x | y 的结果为 true。否则,结果为 false。 即使左操作数评估为 true,| 运算符也会评估两个操作数,以便操作结果为 true,而不管右操作数的值如何。 || 运算符 条件逻辑或运算符 ||,也…

    2025年12月17日
    000
  • 汇编语言和c语言的区别有哪些

    区别:1、汇编语言效率高,C语言效率比较低;2、汇编语言对硬件的可操控性强,C语言硬件可操控性比较差;3、汇编语言目标代码体积小,C语言目标代码体积大;4、汇编语言不易维护,C语言容易维护;5、汇编语言可移植性很差,C语言可移植性很好等。 本教程操作环境:windows7系统、c99版本、Dell …

    2025年12月17日
    000
  • c程序是由什么构成

    c程序是由函数构成,是由一个main函数和若干个其他函数构成的。函数是C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 C源程序是由函数组成的。函数是C程序的基本单位,被调用的函数可以是…

    2025年12月17日
    000
  • c语言怎么进行强制类型转换

    在c语言中,可以通过“(新类型名称) 数据或表达式”语句来进行强制类型转换;例如“(float) 100”就是将数值100(默认为int类型)转换为float类型,“(int)(x+y)”就是将表达式“x+y”的结果转换为int整型。 本教程操作环境:windows7系统、c99版本、Dell G3…

    2025年12月17日
    000
  • c语言输入成绩怎么判断等级

    判断方法:1、用“switch(成绩/10){case 9:A;..case 6:D;default:E;}”语句;2、用“if(成绩>=90)A;else if(成绩>=80)B;..else if(成绩>=60)D;elseE;”语句。 本教程操作环境:windows7系统、c…

    好文分享 2025年12月17日
    000
  • c语言怎么进行字符串比较

    比较方法:1、bcmp(),比较字符串的前n个字节是否相等;2、strcmp(),区分大小写的比较字符串;3、stricmp(),不区分大小写的比较字符串;4、strncmp()或strnicmp(),区分大小写的比较字符串的前n个字符。 本教程操作环境:windows7系统、c99版本、Dell …

    2025年12月17日
    000
  • c语言函数的三种调用方式是什么

    函数的三种调用方式:1、函数作为表达式中的一项出现在表达式中,例“z=max(x,y)”;2、函数作为一个单独的语句,例“printf(“%d”,a)”;3、函数作为调用另一个函数时的实参,例“printf(“%d”,max(x,y))”。 本教程操作…

    2025年12月17日
    000
  • c语言怎么求字符串的长度并输出

    c语言求字符串的长度并输出的方法:首先使用strlen()函数计算出字符串的长度,并赋值给变量len,语法“len=strlen(字符串);”;然后使用printf()函数输出长度即可,语法“printf(“%dn”,len);”。 本教程操作环境:windows7系统、c9…

    2025年12月17日
    000
  • c语言中保留两位小数怎么表示

    在C语言中,表示方法为“%.2lf”,语法格式为“printf(“%.2lf,%.2lfn”,元素)”。“%.2lf”在“printf()”语句里,整数部分全部输出,小数部分输出2位,不足两位的后面补0,大于两位的截短到两位。 本教程操作环境:windows7系统、C++17…

    2025年12月17日 好文分享
    000
  • double的输入格式符是什么

    使用scanf语句时,double的输入格式符是“%lf”,不能使用“%f”;使用printf语句时,可以使用“%f”,printf中没有定义%lf,但是很多系统会接受。因此建议使用double类型时,用“%lf”输入避免出错。 本教程操作环境:windows7系统、C++17版、Dell G3电脑…

    2025年12月17日
    000
  • 字符型数据在内存中的存储形式是什么

    字符型数据在内存中的存储形式是ASCII码。字符型数据是将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 字符型数据在内存中储存的是它的ASCII码值,它是…

    2025年12月17日
    000
  • C语言中文件包含的命令关键字是什么

    文件包含命令的关键字是“include”。文件包含命令“#include”是C语言程序常用的一条预处理命令,用于引入对应的头文件(“.h”文件),其格式为“#include “Header.h””。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 #i…

    2025年12月17日
    000
  • c程序如何编写x的y次方

    c程序编写x的y次方的方法:首先新建一个c语言的工程文件;然后定义两个参数n和k,分别表示输入的数和要求的次方数;最后用递归的方式将n乘以不断减小的k即可完成n次方的计算。 本文操作环境:windows7系统,Dell G3电脑/C11。 c程序怎么编写x的y次方? 新建一个c语言的工程文件,引入头…

    2025年12月17日 好文分享
    000
  • c语言运算符的优先级顺序是什么

    顺序是:1、“()”、.等;2、!、~、-、*、&等;3、*、/、%;4、加减运算;5、“”;6、等;7、“==”、“!=”;8、&;9、^;10、|;11、“&&”;12、“||”;13、“?:”;14、赋值运算等。 本教程操作环境:windows7系统、C++17…

    2025年12月17日
    000
  • 中序遍历是怎么遍历的

    中序遍历的遍历方法为:对于当前结点,首先遍历左子树,然后访问当前节点,最后遍历右子树。中序遍历是二叉树遍历的一种,也叫做中根遍历、中序周游。 本教程操作环境:windows7系统、C++17版本、Dell G3电脑。 二叉树是一种重要的数据结构,对二叉树的遍历也很重要。这里简单介绍三种二叉树中序遍历…

    2025年12月17日 好文分享
    000
  • c语言中用户标识符是指什么

    在c语言中,用户标识符是指用户根据需要自己定义的用来标识某个实体的一个符号;一般用来给变量、函数、数组等命名,以建立起名称与使用之间的关系。标识符由字母、下划线、数字组成,并且第一个字符必须是字母或下划线,不能是数字。 本教程操作环境:windows7系统、c99版本、Dell G3电脑。 标识符(…

    2025年12月17日
    000
  • c语言与go语言的区别是什么

    区别:1、C语言源文件的扩展名是“.h”和“.c”,Go语言源文件的扩展名是“.go”。2、C语言中通过文件来管理代码,Go语言中通过包来管理代码。3、C语言中一共有32个关键字,Go语言中一共有25个关键字。 本教程操作环境:windows7系统、c99&&GO 1.18版本、De…

    2025年12月17日 好文分享
    000
  • switch语句是什么

    switch语句在一些计算机语言中是保留字,其作用大多情况下是进行判断选择,以C语言来说,switch【开关语句】常和case break default一起使用。 本文操作环境:Windows7系统,Dell G3电脑。 switch语句的语法如下(switch,case,break和defaul…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信