Email 接受带有连字符的电子邮件地址'-';登录Opencart?

Email 接受带有连字符的电子邮件地址'-';登录Opencart?,email,opencart,hyphen,Email,Opencart,Hyphen,我正在为我的网站使用opencart 2.0。遇到问题电子邮件字段不接受在地址中使用连字符“-”签名的电子邮件地址 例如电子邮件地址: abc@def-xyz.com 现在,在这种情况下,它是显示无效的电子邮件id。请指导如何解决这个问题 谢谢如果您查看catalog/controller/account/register.php,有一个regexp控制电子邮件的验证。(您将看到对preg\u match的调用)您想要这样的东西(这将起作用): 这个逻辑取自OpenCart 2.0.1.1,它似

我正在为我的网站使用opencart 2.0。遇到问题电子邮件字段不接受在地址中使用连字符“-”签名的电子邮件地址

例如电子邮件地址: abc@def-xyz.com

现在,在这种情况下,它是显示无效的电子邮件id。请指导如何解决这个问题


谢谢

如果您查看
catalog/controller/account/register.php
,有一个regexp控制电子邮件的验证。(您将看到对
preg\u match
的调用)您想要这样的东西(这将起作用):


这个逻辑取自OpenCart 2.0.1.1,它似乎已经解决了您的问题。正如我在上面的评论中所说,它在2.3.0.2中是固定的,从2017年6月开始生效

这是你的域名def xyz。Gmail不支持“-”或“+”。不,我没有dash的电子邮件,但最近有一位客户想在我的网站上注册,他的电子邮件id中有-个,但无法使用此电子邮件id注册。bcoz显示无效的电子邮件id。请告诉我需要编辑哪些核心文件并编写代码以接受带有连字符的电子邮件。如果您升级到OpenCart 2.3.0.2,这工作正常。您的意思是我必须编辑文件:catalog/controller/account/register.php并替换您提供的上述代码。请确认。正确。这就是您必须要做的。但是我使用的是Opencart 2.0.3,您提供的上述代码在默认文件中是相同的。请确认。谢谢,我想我很困惑,因为这是验证电子邮件的代码。如果您针对
abc@def-xyz.com
,它不会出错。你确定这就是失败的电子邮件形式吗?您能提供实际的电子邮件并只更改几个字符吗?您可以检查电子邮件,例如:contact@goo-就像那样。您可以签入opencart 2.0.3.1。请确认
if ((utf8_strlen($this->request->post['email']) > 96) || !preg_match('/^[^\@]+@.*.[a-z]{2,15}$/i', $this->request->post['email'])) {
  $this->error['email'] = $this->language->get('error_email');
}