如何使用正则表达式判断邮箱(以C#为例)
作者:JanYork 时间:2022-12-09 21:38:30
日常开发中,判断邮箱是少不了的,这个我以**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("邮箱格式不正确。");
}
}
}
来源:https://juejin.cn/post/7078545052414410759
标签:判断,邮箱,正则表达式
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java基础教程之String深度分析
2022-08-19 05:42:15
![](https://img.aspxhome.com/file/2023/3/70563_0s.png)
Java虚拟机运行时栈的栈帧
2022-04-29 03:48:00
![](https://img.aspxhome.com/file/2023/9/112419_0s.png)
SpringMVC五种类型参数传递及json传递参数
2022-07-26 15:08:24
Android使用shape使组件呈现出特殊效果的方法
2022-06-28 03:42:27
![](https://img.aspxhome.com/file/2023/5/93265_0s.png)
Java类初始化和实例化中的2个“雷区”
2021-12-13 00:48:18
安卓GreenDao框架一些进阶用法整理
2023-06-17 03:27:21
C语言 简单粗暴的笨方法找水仙花数
2023-11-27 21:53:29
![](https://img.aspxhome.com/file/2023/4/129554_0s.png)
unity3d实现七天签到功能
2023-01-05 08:57:21
Java创建型设计模式之抽象工厂模式(Abstract Factory)
2022-08-31 01:25:56
![](https://img.aspxhome.com/file/2023/4/101764_0s.png)
Android实现悬浮窗效果
2022-08-17 05:59:40
java实现快速打字游戏
2022-11-05 11:16:38
Android列表实现(2)_游标列表案例讲解
2022-11-15 16:49:55
Android 自定义View实现抽屉效果
2022-08-03 01:27:00
java中字符串转整数及MyAtoi方法的实现
2023-09-23 20:54:19
![](https://img.aspxhome.com/file/2023/2/102652_0s.jpg)
Eclipse+Java+Swing实现斗地主游戏(代码)
2023-08-17 18:10:40
![](https://img.aspxhome.com/file/2023/2/113452_0s.png)
BeanUtils.copyProperties在拷贝属性时忽略空值的操作
2022-07-11 05:22:04
浅析Java线程的中断机制
2023-11-19 20:11:50
Spring如何使用注解的方式创建bean
2022-01-29 03:45:49
java程序中protobuf的基本用法示例
2022-06-12 07:33:46
详细分析Java Lambda表达式
2021-06-20 04:32:19
![](https://img.aspxhome.com/file/2023/3/122963_0s.png)