您好我想检查电子邮件是否有效,如blabla@blabla.com,而不仅仅是纯文本'BLbalbalba'。
我有这个功能:
function VerifyEmail($address)
{
$Syntax='#^[w.-]+@[w.-]+.[a-zA-Z]{2,5}$#';
if(preg_match($Syntaxe,$adrdess))
return true;
else
return false;
}
并按照以下方式检查:
$email = htmlentities($_POST['email']);
if (!empty($email) && !empty($password) && !empty($message) && VerifyEmail($email) === true) {
获取这些错误:
Notice: Undefined variable: Syntaxe in C:\xampp\htdocs\recover\inc\functions.inc.php on line 20
Notice: Undefined variable: adrdess in C:\xampp\htdocs\recover\inc\functions.inc.php on line 20
Warning: preg_match() [function.preg-match]: Empty regular expression in C:\xampp\htdocs\recover\inc\functions.inc.php on line 20
Notice: Undefined variable: Syntaxe in C:\xampp\htdocs\recover\inc\functions.inc.php on line 20
Notice: Undefined variable: adrdess in C:\xampp\htdocs\recover\inc\functions.inc.php on line 20
Warning: preg_match() [function.preg-match]: Empty regular expression in C:\xampp\htdocs\recover\inc\functions.inc.php on line 20
为什么会这样?我做错了什么?这是一种检查电子邮件是否有效的稳定方式吗? 谢谢!
答案 0 :(得分:5)
不,它不是“稳定”,它不是“有效”,它不会做得很好。使用
filter_var($email, FILTER_VALIDATE_EMAIL)
代替。相关文档:http://www.php.net/manual/en/function.filter-var.php
答案 1 :(得分:3)
这里有一些拼写错误
应该是
function VerifyEmail($address)
{
$Syntax='#^[w.-]+@[w.-]+.[a-zA-Z]{2,5}$#';
if(preg_match($Syntax,$address))