検索

ホームページ  >  に質問  >  本文

PHP の FILTER_VALIDATE_EMAIL が正しく動作しません。

PHP バージョン 5.3.10 を使用しています。コードは次のとおりです:

リーリー

返される内容: 「電子メール: test@example.c は正しいです。

1 文字の TLD は間違っていると思います (このリストによると: http://data.iana.org/TLD / tlds-alpha-by-domain.txt、文字長のトップレベル ドメインがあるとは知りませんでした)。

それでは、FILTER_VALIDATE_EMAIL フィルターは適切に機能しますか?

P粉649990163P粉649990163517日前551

全員に返信(2)返信します

  • P粉715228019

    P粉7152280192023-07-21 13:30:21

    FILTER_VALIDATE_EMAIL は PHP 5.2.14

    をサポートしていません

    返事
    0
  • P粉066725148

    P粉0667251482023-07-21 12:50:39

    メールアドレスの確認は少し複雑です。このリストを見てください:

    ###有効な電子メールアドレス###

    niceandsimple@example.com
    1. very.common@example.com
    2. a.little.longy.but.fine@dept.example.com
    3. disposable.style.email.withsymbol@example.com
    4. ユーザー@[IPv6:2001:db8:1ff::a0b:dbd0]
    5. 「もっと珍しい」@example.com
    6. "very.unusual.@.unusual.com"@example.com
    7. "非常に.(),:;<>[]".非常に."非常に@\ "とても".珍しい"@strange.example.com
    8. postbox@com (トップレベル ドメインは有効なホスト名です)
    9. admin@mailserver1 (TLD のないローカル ドメイン名)
    10. !#$%&'* -/=?^_`{}|~@example.org
    11. "()<>[]:,;@\"!#$%&'* -/=?^_`{}| ~.a"@example.org
    12. " "@example.org (引用符間のスペース)
    13. üñîçøðé​​@example.com (ローカル部分の Unicode 文字)
    14. ###無効なメールアドレス###
    Abc.example.com (ローカルとドメインは @ 文字で区切る必要があります) 部品)###

    A@b@c@example.com (引用符の外側に @ を 1 つだけ使用できます)

      a"b(c)d,e:f;gi[j\k]l@example.com (特殊文字は含まれません) このローカル部分では引用符の外側に含めることができます)
    1. just"not"right@example.com (引用符で囲まれた文字列はドットで区切る必要があります。または ローカル部分を構成する唯一の要素)
    2. これは「not\allowed@example.com」です (スペース、引用符、バックスラッシュは使用できます) 引用符で囲まれた文字列内で前にバックスラッシュが付いている場合にのみ存在します)
    3. this\still"not\allowed@example.com (エスケープされた場合でも (先頭に バックスラッシュ)、スペース、引用符、およびバックスラッシュは引き続き使用する必要があります 引用符で囲まれています)
    4. 出典
    5. http://en.wikipedia.org/wiki/Email_address
    ほとんどすべての電子メール検証実装には「バグ」がありますが、PHP 実装はすべての一般的な電子メール アドレスを受け入れるため、正常に動作します

    更新:

    http://www.php.net/manual/en/filter.filters.validate.php

    にあります。

    存在しない「部分的な」アドレスについて。ドメイン セクションでは、ソース コード (ext/filter/logical_filters.c 内) のコメントがこの拒否を証明しています:

    リーリー

    ここに、RFC 5321/5322 をサポートする Michael Rushton のクラスへのリンクがあります (リンクが切れています。以下のソース コードを参照してください)。 リーリー

    返事
    0
  • キャンセル返事