利用正则表达式判断邮箱

我的博客

日常开发中,判断邮箱是少不了的,这个我以**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$
复制代码

判断是否为邮箱

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

所以我们的正则表达式直接限制成@**.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的个人邮箱匹配哦。

猜你喜欢

转载自juejin.im/post/7078545052414410759