如何在 MFC 中验证电子邮件 ID

how to do the validation of email id in MFC?

本文关键字:验证 电子邮件 ID MFC      更新时间:2023-10-16

我用这段代码来验证电子邮件ID,我得到的错误很少,我不知道如何解决它,,,我是MFC的新手,如果我愚蠢,请原谅我

BOOL CMailDlg::Validate(CString m_sFrom)
{
  m_sFrom  = NulltoString(m_sFrom);
  CString strRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/;  
  Regex re = new Regex(strRegex);
  if (re.IsMatch(m_sFrom))
    return (true);
  else
    return (false);
}

错误:

错误 C2511:"验证":在"CMailDlg"中找不到重载成员函数"int(类 CString)"

参见"CMailDlg"的声明

错误

C2059:语法错误:"数字后缀错误"

错误 C2018:未知字符"0x40"

错误 C2017:非法转义序列

您需要

在引号中包含正则表达式字符串并转义 \。C++没有对正则表达式的原生支持,你可能会发现Perl,它是使用字符串实现的。\ 是C++转义字符,用于在字符串中包含新行等内容,因此,如果您希望字符串中出现实际的 \,则必须将其加倍。

CString strRegex = "/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/";