gpt4 book ai didi

php - 域名 .company 不被接受

转载 作者:行者123 更新时间:2023-12-01 00:40:32 27 4
gpt4 key购买 nike

我正在使用 Joomla 的 JSN Uniform 插件来接收电子邮件,但它不接受 .company 域作为有效域。它接受常用域(com、net、org、info、biz 等),但不接受 .company 等域。

现在,我真的没有使用 PHP 的经验,因为我更喜欢 JavaScript,但根据我的知识不足,我的问题的解决方案可能在 form.php 文件中,所以这里是代码的一部分。

PHP:

private function _fieldEmail($post, $fieldIdentifier, $fieldTitle, &$validationForm)
{
$postFieldIdentifier = isset($post[$fieldIdentifier]) ? $post[$fieldIdentifier] : '';
$postFieldIdentifier = (get_magic_quotes_gpc() == true || get_magic_quotes_runtime() == true) ? stripslashes($postFieldIdentifier) : $postFieldIdentifier;
$postEmail = $postFieldIdentifier;
if ($postEmail)
{
$regex = '/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,6})$/';
if (!preg_match($regex, $postEmail))
{
$validationForm[$fieldIdentifier] = JText::sprintf('JSN_UNIFORM_FIELD_EMAIL', $fieldTitle);
}
else
{
return $postFieldIdentifier ? $postFieldIdentifier : "";
}
}
else
{
return $postFieldIdentifier ? $postFieldIdentifier : "";
}

}

有人可以帮我解决这个问题吗?

谢谢。

编辑:我尝试将正则表达式值从 2,6 更改为 2,但仍然没有任何变化。

请在此处查看 php fiddler:http://viper-7.com/CqxAMZ

最佳答案

你应该像这样替换正则表达式:

$regex = '/^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,})$/';

接受任何大于一的域。现在它被限制在 2 到 6 之间。更多关于这个主题的信息在 http://www.regular-expressions.info/repeat.html 中。

关于php - 域名 .company 不被接受,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33565298/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com