メールアドレスのバリデーションチェック(PHPとJavascript)のサンプル

メールアドレスのバリデーションチェック

JS

JSの結果:PHPと基本、同じ感じrfc822 email validation in JS

JSの結果:簡易版

PHP:FILTER_VALIDATE_EMAIL

「filter_var($rowEmail['mail'], FILTER_VALIDATE_EMAIL)」でチェックしてみた。
全部はチェックしていないし、サーバの環境によっては結果が異なるかもしれない。

メアド内容結果
zebra123@example.com小文字・数字OK
"zebra123"@example.com小文字・数字+「"」で囲むOK
zebraRECATNAP123@example.com大文字・小文字・数字OK
"zebraRECATNAP123"@example.com大文字・小文字・数字+「"」で囲むOK
.zebra@example.com「.」ではじまるエラー
zebra.@example.com「.」で終わるエラー
zebra.recatnap@example.com「.」が一つOK
zebra..recatnap@example.com「.」が二つエラー
".zebra"@example.com「.」ではじまる+「"」で囲むOK
"zebra."@example.com「.」で終わる+「"」で囲むOK
"zebra.recatnap"@example.com「.」が一つ+「"」で囲むOK
"zebra..recatnap"@example.com「.」が二つ+「"」で囲むOK
zebra"recatnap@example.com「"」を含むエラー
"zebra"recatnap"@example.com「"」を含む+「"」で囲むエラー
zebra\"recatnap@example.com「"」を「\"」にするエラー
"zebra\"recatnap"@example.com「"」を「\"」にする+「"」で囲むOK
zebra\recatnap@example.com「\」を含むエラー
"zebra\recatnap"@example.com「\」を含む+「"」で囲むOK
zebra\\recatnap@example.com「\」を「\\」にするエラー
"zebra\\recatnap"@example.com「\」を「\\」にする+「"」で囲むOK
zebra recatnap@example.com空白ありエラー
"zebra recatnap"@example.com空白あり+「"」で囲むエラー
zebra!#$%&'*+-/=?^_`{|}~@example.com使用可能な「! # $ % & ' * + - / = ? ^ _ ` { | } ~」を使うOK
!#$%&'*+-/=?^_`{|}~@example.com使用可能な「! # $ % & ' * + - / = ? ^ _ ` { | } ~」のみOK
zebra()<>[]:;@,recatnap@example.comそのままだと使用不可な「( ) < > [ ] : ; @ ,」を使うエラー
"zebra()<>[]:;@,recatnap"@example.comそのままだと使用不可な「( ) < > [ ] : ; @ ,」を使う+「"」で囲むOK
zebra@example_aa.comドメインに「-」じゃない記号エラー
zebra@.example.comドメインが「.」ではじまるエラー
zebra@-example.comドメインが「-」ではじまるエラー
zebra@example-.comドメインが「-」で終わるエラー
zebra@example.com-「@」の後が「-」で終わるエラー
zebra@example.com.「@」の後が「.」で終わるエラー
zebra@192.168.0.100IPアドレスエラー
zebra@[192.168.0.100]IPアドレス+「[]」で囲むOK
zebra@日本語.jp日本語ドメインエラー
日本語@example.comローカル部:日本語エラー
"日本語"@example.comローカル部:日本語を「"」で囲むエラー
a123456789b123456789c123456789d123456789e123456789f123456789a123@example.comローカル部:64文字、ドメイン:11文字OK
a123456789b123456789c123456789d123456789e123456789f123456789a1234@example.comローカル部:65文字、ドメイン:11文字エラー
a@example.comローカル部:1文字、ドメイン:11文字OK
ab@example.comローカル部:2文字、ドメイン:11文字OK
abc@example.comローカル部:3文字、ドメイン:11文字OK

関連項目

メアドのバリデーションチェック