如何使用正则表达式判断邮箱(以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


猜你喜欢
- 服务端:using System;using System.Collections.Generic;using System.Net;usi
- 接上一篇文章:Android实现图片区域裁剪功能上一篇文章提及了通过调用系统相册或拍照来实现图片的缩放\裁剪。不过这对于笔者项目的要求同样不
- 这个例子用于演示在Spring Boot应用中如何验证Web 应用的输入,我们将会建立一个简单的Spring MVC应用,来读取用户输入并使
- 在上一篇文章中我介绍了使用Intent显式来实现页面向下跳转,接下来这篇文章主要介绍的是使用Intent隐式来实现向上跳转,什么意思呢,就是
- DataGridView是Visual Studio中一个最重要的数据控件。它可以应用在大多数场合,功能强大,使用灵活。本文要重点介绍一下,
- 策略模式也是一种非常常用的设计模式,而且也不复杂。下面我们就来看看这种模式。定义:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使
- 如下:public Object invokeMethod(String className, String methodName,Obje
- 前言我曾经在一篇介绍 Compose Navigation 的文章 中提到了 Navigation 的状态保存实际是由 rememberSa
- 在.NET4.0中,我可以借助System.Speech组件让电脑来识别我们的声音。以上,当我说"name",显示&qu
- Spring Boot应用内存飙升一个简单的Spring Boot应用, 几乎只有一个用户在用,内存竟然达到1.2G, 可怕服务现状由于之前
- 目录一、概述二、环境配置及代码步骤1. 环境配置2. 代码步骤一、概述PDF打印小册子是指将PDF格式文档在打印成刊物前需要提前进行的页面排
- java 线程锁在Java线程中运用synchronized关键字来达到同步的 synchronized可以锁方法,锁类,锁对象,锁代码块方
- 本文实例为大家分享了Java实现酒店客房管理系统的具体代码,供大家参考,具体内容如下LoginFrame.javapackage login
- 一、JavaMail API简介 JavaMail API是读取、撰写、发送电子信息的可选包。我们可用它来建立如Eudora、Foxmail
- 由于byte是一个8位字节所以可以用它来存放数组为8的boolean数组,这些在通信协议会经常用到。这里给出一个java代码对其互相转换的。
- 其中包含两个jsp文件,分别为login.jsp和index.jsp代码如下:login.jsp<%@ page language=&
- 下载 Android SDK,官网:www.android.com 我相信很多人跟我一样,进不去。Android Studio 中文官网 w
- app的启动方式: 1.)冷启动 当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启
- 直接上代码:public class WeiXinFilter implements Filter{private static Logge
- 今天给大家提供一个由今天给大家提供一个由Java swing实现的酒店管理系统,数据库采用sqlserver,我会贴上部分代码,完整的代码请