20

PHP 5.3.10 を使用しています。これはコードです:

<?php
$email = "test@example.c";
if (filter_var($email, FILTER_VALIDATE_EMAIL))
        echo "Email: ".$email." correct";
else
        echo "email not correct";
?>

戻り値:"Email: test@example.c正しい。

1 文字だけのトップ レベル ドメインは正しくないと思います (このリストによると、1 文字の長さの TLD は知りません: http://data.iana.org/TLD/tlds-alpha-by-domain.txt)。

それで、FILTER_VALIDATE_EMAILフィルターは正しく機能していますか?

4

5 に答える 5

2

メールアドレスを検証するための Google コードの PHP クラスがあります。

http://code.google.com/p/php-email-address-validation

次のように使用できます

include('EmailAddressValidator.php');
$validator = new EmailAddressValidator;
if ($validator->check_email_address('test@example.org')) { 
    // Email address is technically valid 
} else {
    // Email not valid
}
于 2015-07-20T12:33:38.697 に答える
2

FILTER_VALIDATE_EMAIL は PHP 5.2.14 をサポートしていません

于 2014-10-20T13:07:37.247 に答える
-2

私は使用することにしました:

<?php
$email =$argv[1];$result= is_valid_email($email); echo $result;
function is_valid_email($email) { return preg_match('/^(([^<>()[\]\\.,;:\s@"\']+(\.[^<>()[\]\\.,;:\s@"\']+)*)|("[^"\']+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/', $email); }
?>

私のフォーラムソフトウェアで https://github.com/neofutur/MyBestBB/blob/master/include/email.php#L39

しかし、公式には次のとおり です

于 2014-11-19T08:44:06.790 に答える