如何使用正则表达式判断邮箱(以C#为例)
作者:JanYork
在C#中可以使用Regex正则表达式类来校验前台提交过来的邮箱字段信息是否符合要求,Regex类是C#中有关正则表达式处理的相关类,功能强大,下面这篇文章主要给大家介绍了关于如何使用正则表达式判断邮箱的相关资料,需要的朋友可以参考下
日常开发中,判断邮箱是少不了的,这个我以**C#**为例,来写一个判断方法,正则表达式是通用的,CV就可以
首先引入正则需要使用的命名空间
//正则验证引用 using System.Text.RegularExpressions;
判断是否为QQ邮箱
/// <summary> /// 验证QQ邮箱 /// </summary> /// <param name="mail">邮箱</param> /// <returns></returns> public static bool CheckMail(string mail) { string str = @"^[1-9][0-9]{4,}@qq.com$"; Regex mReg = new Regex(str); if (mReg.IsMatch(mail)) { return true; } return false; }
这里是使用正则判断是否为QQ邮箱方法,正则表达式在下方
^[1-9][0-9]{4,}@qq.com$
判断是否为邮箱
这里我们先了解一下常用的邮箱域名后缀,目前除了许多个人企业邮箱和域名邮箱,基本上正常邮箱都是com和net域名。
所以我们的正则表达式直接限制成@**.com
结尾或者@**.net
结尾.
/// <summary> /// 验证是否为邮箱 /// </summary> /// <param name="mail"></param> /// <returns></returns> public static bool CheckAllMail(string mail) { string str = @"^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(com|cn|net)$"; Regex mReg = new Regex(str); if (mReg.IsMatch(mail)) { return true; } return false; }
下面是正则表达式
^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(com|cn|net)$
我这里设置的域名有com、cn和net,也就是说,允许域名为com、cn和net的个人邮箱匹配哦。
补充:C#正则表达式(Regex类)
在 C# 语言中使用正则表达式时要用到 Regex 类,该类在 System.Text.RegularExpressions 名称空间中。
Regex类表示.NET Framework 正则表达式引擎。 它可用于快速分析大量的文本来查找特定的字符模式;若要提取、 编辑、 替换或删除文本子字符串;并将提取的字符串添加到集合以生成报表。
在 Regex 类中使用 IsMatch 方法判断所匹配的字符串是否满足正则表达式的要求。
【实例】在 Main 方法中从控制台输入一个邮箱,使用正则表达式判断其正确性。
根据题目要求,在本例中邮箱验证的正则表达式的写法是包含 @,在 @ 前面是字母或者数字、下画线,在 @ 后面也是字母或者数字、下画线,并且字母后面要含有.,在 . 后面还要加上字母或者数字、下画线。具体的代码如下。
class Program { static void Main(string[] args) { Console.WriteLine("请输入一个邮箱"); string email = Console.ReadLine(); Regex regex = new Regex(@"^(\w)+(\.\w)*@(\w)+((\.\w+)+)$"); if (regex.IsMatch(email)) { Console.WriteLine("邮箱格式正确。"); } else { Console.WriteLine("邮箱格式不正确。"); } } }
总结
到此这篇关于如何使用正则表达式判断邮箱的文章就介绍到这了,更多相关C#正则表达式判断邮箱内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!