如何使用正則表達(dá)式判斷郵箱(以C#為例)
日常開發(fā)中,判斷郵箱是少不了的,這個我以**C#**為例,來寫一個判斷方法,正則表達(dá)式是通用的,CV就可以
首先引入正則需要使用的命名空間
//正則驗(yàn)證引用 using System.Text.RegularExpressions;
判斷是否為QQ郵箱
/// <summary> /// 驗(yàn)證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郵箱方法,正則表達(dá)式在下方
^[1-9][0-9]{4,}@qq.com$
判斷是否為郵箱
這里我們先了解一下常用的郵箱域名后綴,目前除了許多個人企業(yè)郵箱和域名郵箱,基本上正常郵箱都是com和net域名。
所以我們的正則表達(dá)式直接限制成@**.com
結(jié)尾或者@**.net
結(jié)尾.
/// <summary> /// 驗(yàn)證是否為郵箱 /// </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; }
下面是正則表達(dá)式
^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(com|cn|net)$
我這里設(shè)置的域名有com、cn和net,也就是說,允許域名為com、cn和net的個人郵箱匹配哦。
補(bǔ)充:C#正則表達(dá)式(Regex類)
在 C# 語言中使用正則表達(dá)式時要用到 Regex 類,該類在 System.Text.RegularExpressions 名稱空間中。
Regex類表示.NET Framework 正則表達(dá)式引擎。 它可用于快速分析大量的文本來查找特定的字符模式;若要提取、 編輯、 替換或刪除文本子字符串;并將提取的字符串添加到集合以生成報(bào)表。
在 Regex 類中使用 IsMatch 方法判斷所匹配的字符串是否滿足正則表達(dá)式的要求。
【實(shí)例】在 Main 方法中從控制臺輸入一個郵箱,使用正則表達(dá)式判斷其正確性。
根據(jù)題目要求,在本例中郵箱驗(yàn)證的正則表達(dá)式的寫法是包含 @,在 @ 前面是字母或者數(shù)字、下畫線,在 @ 后面也是字母或者數(shù)字、下畫線,并且字母后面要含有.,在 . 后面還要加上字母或者數(shù)字、下畫線。具體的代碼如下。
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("郵箱格式不正確。"); } } }
總結(jié)
到此這篇關(guān)于如何使用正則表達(dá)式判斷郵箱的文章就介紹到這了,更多相關(guān)C#正則表達(dá)式判斷郵箱內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在.NET?WebService中跨域CORS問題的解決方案
在現(xiàn)代的Web應(yīng)用程序開發(fā)中,跨域資源共享(Cross-Origin?Resource?Sharing,?CORS)問題是開發(fā)者經(jīng)常遇到的一個挑戰(zhàn),在這篇博客中,我們將深入探討如何在?.NET?WebService?中解決CORS問題,幫助開發(fā)者順利實(shí)現(xiàn)跨域請求,需要的朋友可以參考下2024-05-05c# 調(diào)用Surfer軟件,添加引用的具體操作方法
本篇文章主要是對c#中調(diào)用Surfer軟件,添加引用的具體操作方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01C#使用FileInfo和DirectoryInfo類來執(zhí)行文件和文件夾操作
System.IO.FileInfo?和?System.IO.DirectoryInfo?是C#中用于操作文件和文件夾的類,它們提供了許多有用的方法和屬性來管理文件和文件夾,這篇文章主要介紹了C#使用FileInfo和DirectoryInfo類來執(zhí)行文件和文件夾操作,需要的朋友可以參考下2023-08-08c# 使用Task實(shí)現(xiàn)非阻塞式的I/O操作
這篇文章主要介紹了c# 使用Task實(shí)現(xiàn)非阻塞式的I/O操作,幫助大家更好的理解和學(xué)習(xí)c# 編程語言,感興趣的朋友可以了解下2020-11-11C#正則表達(dá)式獲取下拉菜單(select)的相關(guān)屬性值
這篇文章主要介紹了C#正則表達(dá)式獲取下拉菜單(select)的相關(guān)屬性值,比如可以獲得name屬性的值、value值、指定值,需要的朋友可以參考下2014-07-07C#開發(fā)Winform實(shí)現(xiàn)文件操作案例
這篇文章介紹了C#開發(fā)Winform實(shí)現(xiàn)文件操作的案例,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04