-1

您好,我想检查电子邮件是否有效,例如 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

为什么会这样?我做错了什么?这是检查电子邮件是否有效的稳定方法吗?谢谢!

4

2 回答 2

5

不,它不是“稳定”,它不是“有效”,它不会做好。利用

filter_var($email, FILTER_VALIDATE_EMAIL)

反而。相关文档:http ://www.php.net/manual/en/function.filter-var.php

于 2013-03-26T05:07:53.350 回答
3

这里有一些拼写错误

应该

function VerifyEmail($address) 
{
   $Syntax='#^[w.-]+@[w.-]+.[a-zA-Z]{2,5}$#';
   if(preg_match($Syntax,$address))
于 2013-03-26T05:07:32.903 回答