gmail、yahoo、hotmail などの有効で非公開のメール アドレスのみを許可したいと思います。
これをチェックするのを手伝ってくれる人はいますか?正規表現を使用する必要があると思いますが、もっと簡単な方法があるかどうかはわかりません
トップ レベル ドメインでのみフィルタリングする必要がある場合は、次のようなものを使用できます。
^[a-z0-9._%+-]+@[a-z0-9.-]+\.(?:edu|gov|mil)$
.edu
これは、、、.gov
またはで終わる電子メール アドレスのみを検証します.mil
。例えば、
bah@humbug.gov <- valid
guy.smiley@gmail.com <- invalid
doctor.who@univ.edu <- valid
person@anything.com <- invalid
Ignore Case
注: これらはすべて、の正規表現オプションがオンになっていることを前提としています。
.fr
またはのような 2 文字のトップ レベル ドメイン国コードも許可する場合は.ca
、次のような式を追加できます。
^[a-z0-9._%+-]+@[a-z0-9.-]+\.(?:[a-z]{2}|edu|gov|mil)$
代わりに、「ビッグ 3」のメール ホストを除外したい場合は、次のようなものを使用できます。
^[a-z0-9._%+-]+@(?!gmail\.com|yahoo\.com|hotmail\.com)(?:[a-z0-9.-]+\.?)+$
(これは、 「サフィックスが存在しない場合に一致」グループ化で先読みアサーションを使用します(?!)
) 例:
bah@humbug.gov <- valid
guy.smiley@yahoo.com <- invalid
doctor.who@univ.edu <- valid
person@anything.com <- valid
電子メール アドレス検証のその他の正規表現の例については、こちらを参照してください。