是preg_grep么我要做的事情是某个字符串里是否含有email格式的东西$row = '[email protected]'即我要判断这个字符串是否符合email格式,不是提取,我知道提取用preg_match

解决方案 »

  1.   

    就用preg_match,成功匹配到后会返回1,否则是0。
      

  2.   

    是 int preg_match  ( string $pattern  , string $subject )第三个之后的参数是可选, 前两个是必要, 第一个是正则, 第二是字符串
      

  3.   

    function clean_email($email = "")
    {
    $email = trim($email);
    $email = str_replace(' ', '', $email);
         $email = preg_replace("#[\;\#\n\r\*\'\"<>&\%\!\(\)\{\}\[\]\?\\/\s]#", '', $email);
         if (preg_match("/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/", $email)) {
         return $email;
         }
         return '';
    }
    这是我用的看是否是email格式的函数,如果是,返回字符串,如果不是返回空串。
      

  4.   


    <?
    class mailCheck
    {
       function checkMail($mail)
       {
      if(ereg("^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$",$mail))
      {
      return true;
      }
      else
      {
      return false;
      }
       }
    }
    $mailcheck=new mailCheck;
    $result=$mailcheck->checkMail($m_email);
    if($result==false)
    {
    echo "<script>";
    echo "alert(\"请输入正确的email地址\");";
    echo "</script>";
    echo "<body onload = \"history.back();\">";
    break;
    }
    ?>这个是我用来测试email地址的代码,是用ereg的