人亦已歌 发表于 2024-9-15 01:24:55

C# 验证邮件地址正确性及格式合规性


public bool CheckEmail(string strEmail)
{
    int i, j;
    string strTmp, strResult;
    string strWords = "abcdefghijklmnopqrstuvwxyz_-.0123456789"; //定义合法字符范围

    bool blResult = false;
    strTmp = strEmail.Trim();
    //检测输入字符串是否为空,不为空时才执行代码。
    if (!(strTmp == "" || strTmp.Length == 0))
    {
      //判断邮件地址中是否存在 @ 号
      if (strTmp.IndexOf('@') > 0)
      {
            blResult = true;
            return blResult;
      }
      //以 @ 号为分割符,把地址切分成两部分,分别进行验证。
      string[] strChars = strTmp.Split(new char[] { '@' });
      foreach (string strChar in strChars)
      {
            i = strChar.Length; // @ 号前部分或后部分为空时。
            if (i == 0)
            {
                blResult = false;
                return blResult;
            }
            //逐个字进行验证,如果超出所定义的字符范围strWords,则表示地址非法。
            for (j = 0; j < i; j++)
            {
                strResult = strChar.Substring(j, 1).ToLower();//逐个字符取出比较
                if (strWords.IndexOf(strResult) == -1)
                {
                  blResult = false;
                  return blResult;
                }
            }
      }
    }
    return blResult;
}
页: [1]
查看完整版本: C# 验证邮件地址正确性及格式合规性