0

重複の可能性:
メールアドレス検証用の PHP ライブラリはありますか?
PHP5でメールを検証するには?

メールアドレスの正規表現に関して多くの質問が寄せられていることは承知しています。私の質問には、答えを見つけることができなかった特定の要件があります。

メールアドレスに一致し、「testing+tags@gmail.com」などのアドレスタグを許可する正規表現が必要です。私が見つけたほとんどの正規表現は、タグを含む電子メール アドレスでは失敗します。

注意:このリンクを私に向けないでください。完璧ではなく実用的なものを探しています

編集 ほとんどの Web アプリ フレームワークに組み込みの検証が存在することを認識しています。RoR、PHP、Django などにはすべて組み込まれています。ただし、なんらかの理由で、特別な必要がある場合もあります。おそらく、ユーザーは検証を使用できません。検証関数が組み込まれていない、または検証関数を備えているあいまいな言語でアプリを作成している可能性がありますが、それらは時代遅れです。その場合、正規表現はまだ役に立ちます

4

2 に答える 2

8

代わりにfilter_var使用して電子メールを検証する必要があります

var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));

あなたのケースの例:

echo filter_var('bob+long@example.com', FILTER_VALIDATE_EMAIL) !== false? 'Valid': 'Invalid';
于 2012-08-16T14:42:58.077 に答える
6

私の個人的なお気に入りはいつもこれです:

/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i

もうひとつ人気のこちらも

/\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/

PHP でこれを行っていて、問題が解決できる場合はfilter_var、別の方法で使用することをお勧めします。これは、実用的で不完全であると理解されている正規表現が必要な場合の単なる提案です。

于 2012-08-16T14:45:55.417 に答える