コンマ区切りのリストに入力されるいくつかの形式 (以下を参照) の整形式の電子メールを受け入れる正規表現が必要です。私は基本的な電子メールアドレス検証正規表現を持っています。
^[\w\d._%+-]+@(?:[\w\d-]+\.)+(\w{2,})(,|$)
これはテスト ケースAとBを処理できますが、その他は処理できません。私も試しました
^(\<)?[\w\d._%+-]+@(?:[\w\d-]+\.)+(\w{2,})(\>)?(,|$)
これはA、B、およびCを処理できましたが、テスト ケースDおよびEのそれぞれで最初の電子メール アドレスのみを検証しました。format 3の正規表現をテストすることすらできていません。
tl;drメールアドレス1、2、および3を検証する正規表現が必要です。
正規表現をテストするのに適した Web サイト: Online Javascript Regex Tester
データ
テストケース
A. nora@example.com
B. nora@example.com, fred@example.com
C. <nora@example.com>
, fred@example.com
D. <nora@example.com>, <fred@example.com>
E. fred@example.com,<nora@example.com>
電子メール アドレスの形式
1. xyz@example.com
2. <xyz@example.com>
3. "xyz"<xyz@example.com>
編集
私はこれを次の重複の可能性としてフラグを立てました:
JavaScript で電子メール アドレスを検証しますか?
これは、次の複製のようです。
どちらも、電子メール検証としての正規表現の有効性に関する多くの議論が含まれています。ただし、提供された上位投票の正規表現は、私が望むことをまったくしていないように見えるため、これはまだ回答されているとは考えていません。