日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

如何使用正則表達式判斷郵箱(以C#為例)_C#教程

作者:JanYork ? 更新時間: 2022-05-31 編程語言

日常開發中,判斷郵箱是少不了的,這個我以**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

欄目分類
最近更新