[解決済み】有効な電子メールアドレスを確認する方法は?重複
2022-04-05 05:22:48
質問
正規表現を使ってフォームの入力が正しい形式のメールアドレスであることを確認する良い方法はありますか?昨夜から検索していますが、このトピックに関する人々の質問に答えている誰もが、それがサブドメインのメールアドレスである場合、それに問題があるようです。
解決方法は?
意味がない。メールアドレスが構文的に有効であることを確認できたとしても、それがミスタイプでないこと、そして実際に思った通りの相手に届くことを確認する必要があります。そのためには、相手にメールを送り、リンクをクリックさせて確認するしかありません。
したがって、最も基本的なチェック(たとえば、誤って自分の住所を入力しなかったかどうか)で通常は十分です。例えば、次のようなものです。
@
記号、および少なくとも1つの
.
の後の部分には
@
:
[^@]+@[^@]+\.[^@]+
空白を含む有効なメールアドレスもあるでしょうが、私は一度も見たことがありません。
完全なチェックが必要な場合は、以下を参照してください。 この質問 .
更新:このような正規表現を使用する方法は以下のとおりです。
import re
if not re.match(r"... regex here ...", email):
# whatever
Python ≥3.4 は
re.fullmatch
よりも望ましいとされている
re.match
.
注意
r
を文字列の前に置くことで、2回エスケープする必要がありません。
チェックする正規表現が大量にある場合、最初に正規表現をコンパイルした方が速い場合があります。
import re
EMAIL_REGEX = re.compile(r"... regex here ...")
if not EMAIL_REGEX.match(email):
# whatever
もう一つの選択肢は
validate_email
このパッケージは実際にSMTPサーバーに接続して、アドレスが存在することを確認します。しかし、これはまだ正しい人のものであることを保証するものではありません。
関連
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] 有効なメールアドレスの最大長を教えてください。
-
[解決済み] 電子メールアドレスに使用できる文字は何ですか?
-
[解決済み】forループを使った辞書の反復処理
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】OSError: [WinError 193] %1 は有効な Win32 アプリケーションではありません。
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み】Python - "ValueError: not enough values to unpack (expected 2, got 1)" の修正方法 [閉店].