服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - 如何使用正则表达式判断邮箱(以C#为例)

如何使用正则表达式判断邮箱(以C#为例)

2023-02-24 15:10JanYork C#

在C#中可以使用Regex正则表达式类来校验前台提交过来的邮箱字段信息是否符合要求,Regex类是C#中有关正则表达式处理的相关类,功能强大,下面这篇文章主要给大家介绍了关于如何使用正则表达式判断邮箱的相关资料,需要的朋友可以

日常开发中,判断邮箱是少不了的,这个我以**C#**为例,来写一个判断方法,正则表达式是通用的,CV就可以

首先引入正则需要使用的命名空间

?
1
2
//正则验证引用
using System.Text.RegularExpressions;

判断是否为QQ邮箱

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/// <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
^[1-9][0-9]{4,}@qq.com$

判断是否为邮箱

这里我们先了解一下常用的邮箱域名后缀,目前除了许多个人企业邮箱和域名邮箱,基本上正常邮箱都是com和net域名。

所以我们的正则表达式直接限制成@**.com结尾或者@**.net结尾.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/// <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;
}

下面是正则表达式

?
1
^[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 方法中从控制台输入一个邮箱,使用正则表达式判断其正确性。

根据题目要求,在本例中邮箱验证的正则表达式的写法是包含 @,在 @ 前面是字母或者数字、下画线,在 @ 后面也是字母或者数字、下画线,并且字母后面要含有.,在 . 后面还要加上字母或者数字、下画线。具体的代码如下。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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#正则表达式判断邮箱内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://juejin.cn/post/7078545052414410759

延伸 · 阅读

精彩推荐
  • C#c#中object、var和dynamic的区别小结

    c#中object、var和dynamic的区别小结

    这篇文章主要给大家介绍了关于c#中object、var和dynamic的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的...

    杨帆4682022-10-10
  • C#C#基于COM方式读取Excel表格的方法

    C#基于COM方式读取Excel表格的方法

    这篇文章主要介绍了C#基于COM方式读取Excel表格的方法,涉及C# COM组件的调用与Excel表格的使用技巧,需要的朋友可以参考下...

    kagula8612021-11-30
  • C#C#编程实现DataTable添加行的方法

    C#编程实现DataTable添加行的方法

    这篇文章主要介绍了C#编程实现DataTable添加行的方法,结合两个实例形式分析了C#操作DataTable实现动态添加行的相关技巧,具有一定参考借鉴价值,需要的朋友可...

    Jan.David3752021-11-03
  • C#C# wpf简单颜色板的实现

    C# wpf简单颜色板的实现

    wpf本身没有提供颜色板之类的控件,有些业务使用场景需要使用颜色板之类的控件,本文就简单实现,感兴趣的可以了解一下...

    Alfred-N5092022-12-06
  • C#C# 基础入门--关键字

    C# 基础入门--关键字

    本文主要介绍了C# 基础知识--关键字的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧...

    辰星crystal12292021-12-27
  • C#C#实现基于加减按钮形式控制系统音量及静音的方法

    C#实现基于加减按钮形式控制系统音量及静音的方法

    这篇文章主要介绍了C#实现基于加减按钮形式控制系统音量及静音的方法,涉及C#引用user32.dll动态链接库操作系统音量的相关技巧,具有一定参考借鉴价值,需...

    小编辑10032021-10-28
  • C#C#实现异步编程的方法

    C#实现异步编程的方法

    这篇文章主要为大家详细介绍了C#实现异步编程的方法,什么是异步,如何实现异步编程,感兴趣的小伙伴们可以参考一下...

    SmartMonkey8982022-01-19
  • C#C#中的静态成员、静态方法、静态类介绍

    C#中的静态成员、静态方法、静态类介绍

    本文主要介绍了C#中的静态成员、静态方法、静态类的基础的使用,并做了相关的代码演示,供初学者参考。...

    暴走抹茶moukoy4922021-11-16