为什么我的电子邮件验证不起作用?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;
}
}