2

我正在尝试使用 ereg 验证 php 中的电子邮件,我不允许在 @ 之后输入两个以上的点,并且它不能以任何特殊字符开头,我该怎么做。

function chk($a)
{

$pattern = "^([A-Za-z0-9\.|-|_]{1,60})([@])";
$pattern .="([A-Za-z0-9\.|-|_]{1,60})(\.)([A-Za-z]{2,3})$";

  if (!@ereg($pattern, $a))
     return false;
  else
       return true;
}
4

3 回答 3

3

请不要滚动您自己的电子邮件验证。

if(filter_var($email, FILTER_VALIDATE_EMAIL) === true){
    return true;
} else {
    return false;
}
于 2015-07-15T19:15:57.817 回答
2
preg_match("/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/",'test@test.co.in.');
于 2015-07-15T19:21:08.093 回答
0
function custom_email_confirmation_validation_filter( $your_email ) {
   if(!preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $your_email )){ 
        return 'invalid';
    }
    
  if( substr_count($your_email, '.') > 3){
    return 'invalid 1';
  }
  
  return 'valid';
}

echo custom_email_confirmation_validation_filter('golapk.kkk.khazi@gmail.com');
于 2021-04-30T17:13:03.250 回答