为什么我的电子邮件验证不起作用?PHP

为什么我的电子邮件验证不起作用?PHP,php,validation,email,forms,Php,Validation,Email,Forms,我用过 if (!preg_match('/[a-z||0-9]@[a-z||0-9].[a-z]/', $email)) { [PRINT ERROR] } & & 我也试过把它拿出来!让它反向运行,但出于某种原因,这些都无法找出它是否有效。知道为什么吗?。。。 我在一份else if声明中提到了这一点,我不确定这是否是原因 我正在使用PHP检查您的PHP版本。在5.3.0之后不推荐使用。此外,正则表达式不正确。请尝试 '/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A

我用过

if (!preg_match('/[a-z||0-9]@[a-z||0-9].[a-z]/', $email)) {
    [PRINT ERROR]
}
&

&

我也试过把它拿出来!让它反向运行,但出于某种原因,这些都无法找出它是否有效。知道为什么吗?。。。 我在一份else if声明中提到了这一点,我不确定这是否是原因

我正在使用PHP检查您的PHP版本。在5.3.0之后不推荐使用。此外,正则表达式不正确。

请尝试

'/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/'


据我所知,您的正则表达式中没有一个与电子邮件匹配。

请从Kohana源代码中尝试以下内容:

function email($email)
{
    return (bool) preg_match('/^[-_a-z0-9\'+*$^&%=~!?{}]++(?:\.[-_a-z0-9\'+*$^&%=~!?{}]+)*+@(?:(?![-.])[-a-z0-9.]+(?<![-.])\.[a-z]{2,6}|\d{1,3}(?:\.\d{1,3}){3})(?::\d++)?$/iD', (string) $email);
}
功能电子邮件($email)
{
return(bool)preg\u match('/^[-[u a-z0-9\'+*$^&%=~!?{}]+(?:\.-[u a-z0-9\'+*$^&%=~!?{}]+@(?:(?![-.])[-a-z0-9.]+(?试试这个(从wordpress):


也许你可以提供它?在
$email
中是什么?$email来自一个表单。输入字段的名称是email,我使用了$email=$\u REQUEST['email'];收集其中的信息。我知道这部分工作正常,因为我可以通过电子邮件将正确的信息发送给自己。这部分工作正常,谢谢你,我想当我做我的工作时,它被搞得一团糟,你的前两个ifs和正则表达式被完全搞砸了。现在
filter\u var
做了正确的事情,因此很容易假设提供的测试用例我刚从一个网站上解决了这个问题,当我试图让它工作的时候,我把它修好了用于我的电子邮件验证,我会试试你的,看看是否有效,也许我只是把我的工作搞砸了
'/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/'
if (!preg_match('/[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}/', strtoupper($email))) {
    [PRINT ERROR]
}
function email($email)
{
    return (bool) preg_match('/^[-_a-z0-9\'+*$^&%=~!?{}]++(?:\.[-_a-z0-9\'+*$^&%=~!?{}]+)*+@(?:(?![-.])[-a-z0-9.]+(?<![-.])\.[a-z]{2,6}|\d{1,3}(?:\.\d{1,3}){3})(?::\d++)?$/iD', (string) $email);
}
// from wordpress code: wp-includes/formatting.php
function is_email($user_email)
{
    $chars = "/^([a-z0-9+_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,6}\$/i";

    if (strpos($user_email, '@') !== false && strpos($user_email, '.') !== false)
    {
        if (preg_match($chars, $user_email)) {
            return true;
        } else {
            return false;
        }
    } else {
        return false;
    }
}