不推荐使用:函数eregi()在C:\ wamp \中已弃用

时间:2011-03-23 17:18:50

标签: php deprecated posix-ere

请在使用eregi()函数验证电子邮件地址时收到此错误:

Deprecated: Function eregi() is deprecated in C:\wamp\www\ssiphone\classes\TraitementFormulaireContact.php on line 13

我的代码可能会产生问题:

 public function verifierMail($mail)
 {
    if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $mail)) {
      return "valid mail";
    }
    else {
      return "invalid mail";
    }
}

3 个答案:

答案 0 :(得分:3)

不推荐使用eregi函数,这意味着在将来的PHP版本中它将被删除。

您可以使用功能preg_match替换它,它完全相同。

示例代码(未经测试):

public function verifierMail($mail)
{
if(preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $mail)) {
  return "valid mail";
}
else {
  echo "invalid mail";
}

/ i使其不区分大小写

答案 1 :(得分:2)

使用函数preg_match()代替

你可以在这里找到php手册页:http://us3.php.net/manual/en/function.preg-match.php

答案 2 :(得分:1)

除了用ereg_*替换preg_*之外,您应该考虑内置filter_var()函数:

filter_var($mail, FILTER_VALIDATE_EMAIL)

你仍然会得到假阴性(有很多有效的电子邮件,你从来没有想过),但它仍然比一个糟糕的正则表达式好。