網站首頁 編程語言 正文
日常開發中,判斷郵箱是少不了的,這個我以**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
相關推薦
- 2023-04-24 Android布局控件View?ViewRootImpl?WindowManagerService關
- 2022-09-13 Nginx如何配置根據路徑轉發詳解_nginx
- 2022-08-29 python中內置函數ord()返回字符串的ASCII數值實例詳解_python
- 2022-12-15 Qt開發之使用socket實現遠程控制_C 語言
- 2022-10-14 VS Code注釋插件doxygen documentation generator
- 2022-11-03 C++模板超詳細介紹_C 語言
- 2022-04-28 shell命令之mv的具體使用_linux shell
- 2023-02-18 C++中std::thread線程用法_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支