【发布时间】:2011-08-21 12:24:10
【问题描述】:
我使用此代码验证电子邮件 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 (class CString)”
参见“CMailDlg”的声明
错误 C2059:语法错误:“数字后缀错误”
错误 C2018:未知字符“0x40”
错误 C2017:非法转义序列
【问题讨论】:
-
呃。你为什么要标记这个
vb6? MFC 的哪一部分与 VB 6 有关系? -
This 是您需要正确执行此操作的正则表达式。使用正则表达式验证电子邮件地址非常困难,因此绝对不是正确的方法。 The answers to this question 达成类似共识。除了字母数字和
@符号之外,电子邮件地址中还允许使用许多字符。
标签: c++ regex mfc email-validation email-address