メール正規表現テスター
検証済みのメールアドレス用正規表現(簡易、実用、HTML5、厳格)をコピーし、アドレスの一覧を検査して、JavaScript・Python・PHP・Javaのコードを取得できます。
各行はテストの前に前後の空白を取り除き、空行は無視します。
テストはJavaScriptの正規表現で実行します。コード例は、パターンをJavaScript向けに書き換えたものです。
| 行 | 入力 | 結果 | 失敗した理由 |
|---|---|---|---|
| 1 | john.doe@example.com | 有効 | |
| 2 | jane_smith+news@mail.co.uk | 有効 | |
| 3 | user@localhost | 無効 | ドメインにドット(.comなど)がありません |
| 4 | not-an-email | 無効 | @がありません |
| 5 | a..b@example.com | 有効 | |
| 6 | name@domain.c | 無効 | 最後のドットの後ろは、2文字以上の英字にしてください |
メールアドレスの正規表現は、登録を受け付けたりメッセージを送ったりする前に、どの文字列がアドレスらしく見えるかを判定します。このツールは、厳しさが段階的に異なる既製のパターン4つと抽出用のパターン1つを用意し、貼り付けた各行を選んだパターンでテストし、失敗した行がなぜ失敗したのかを示し、JavaScript・Python・PHP・Java向けのコードを書き出します。
使い方
- パターンを選びます。実用はほとんどのフォームに適しており、厳格はRFC 5321の長さとドットの規則を加えます。
- アドレスを1行に1つずつ貼り付けるか、「任意のテキストからメールアドレスを探す」を選んで、ページ、ログ、CSVを貼り付けます。
- 「有効」と「無効」の件数、および失敗した行ごとの理由を確認します。
- 言語を選んで、コード例をコピーします。
計算式
実用: ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$
@の前には、英字、数字、. _ % + - が使えます。後ろには、ドットを含み、2文字以上の英字で終わるドメインが続きます。HTML5のパターンは、ブラウザが<input type="email">に適用する規則で、@の前に多くの記号を許可し、ドメインにドットを要求しません。厳格は、先読みを2つ使って@の前を64文字、アドレス全体を254文字に制限し、先頭・末尾・連続するドットを禁止します。厳格は限定的なdot-atomのパターンであり、RFCの完全な検証ツールではありません。空白のクラスは言語ごとに異なるため、ASCII以外の空白は実際に使う環境でテストしてください。表に表示するのは、最大で400行または400件の一致です。
計算例
既定のリストは6行です。実用では3行が通ります。john.doe@example.com、jane_smith+news@mail.co.uk、a..b@example.comです。user@localhostはドメインにドットがなく、not-an-emailは@がなく、name@domain.cは1文字のTLDで終わるため、失敗します。HTML5に切り替えると5行が通ります。ブラウザの規則は、ドットのない1ラベルのドメイン、1文字の末尾、ローカル部の連続したドットを受け付けるためです。厳格は、a..b@example.comの連続したドットも拒否するので、通るのは2行だけです。
よくある質問
完璧なメールアドレスの正規表現はありますか?
ありません。メールアドレスの文法全体には、引用符で囲んだローカル部やアドレスリテラルが含まれますが、これらのパターンは意図的に省いています。正規表現ではメールボックスが存在するかどうかはわからないため、認証用のリンクで所有を確認してください。
HTML5のパターンがuser@localhostを受け付けるのはなぜですか?
HTMLの標準は、ラベルが1つだけのホストを許可しているためです。実用と厳格はドットのあるドメインを要求しますが、一致したからといって、そのドメインやメールボックスが存在する証明にはなりません。
国際化されたアドレスには対応していますか?
ASCIIのパターンは、Unicodeのローカル部に対応していません。簡易はより寛容です。HTML5はASCIIのPunycodeのドメインラベルを受け付け、厳格はxn--で始まるトップレベルラベルも許可します。実用は英字だけの末尾を要求するため、Punycodeのトップレベルドメインは拒否します。
アドレスは大文字小文字を区別せずに比較すべきですか?
ドメイン名は大文字小文字を区別しません。RFC 5321は、受信側のシステムが@より前のローカル部の大文字小文字を意味のあるものとして扱う場合があるため、そのまま保持するよう求めています。プロバイダー固有の規則がない限り、送信されたローカル部はそのままにしてください。
出典
最終更新:
この入力内容のページアドレス: https://kakao.mobile/ja/tools/email-regex-tool/
このツールを引用する
kakaoCalc. (2026, November 8). メール正規表現テスター. https://kakao.mobile/ja/tools/email-regex-tool/
“メール正規表現テスター.” kakaoCalc, 8 Nov. 2026, kakao.mobile/ja/tools/email-regex-tool/.