gmail の受信用エイリアスのメールアドレスを preg_match - PHPプロ!Q&A掲示板
1460
- 0P
- 0P
gmail の受信用エイリアスのメールアドレスを preg_match
質問日時 / 2008年8月31日 11:36 (最終編集:8月31日 11:39) 回答数 / 2件
Questioner: vaiostar Tweet
キーワード / 正規表現   preg_match   eregi  
こんにちわ。
gmail の受信用エイリアス(プラス記号)を正規表現でチェックするには
でOKなのですが preg_match の場合はうまくいきません。
ちなみに eregi と preg_match の違いは、「Perl 互換の正規表現構文を使用する preg_match() の 方が、多くの場合、ereg() よりも速く動作する」とか「NFAエンジンか、POSIX NFAエンジンかの違い」なので、eregi でも良いのですが、preg_match で jason+lang@gmail.com のようなメールアドレスをチェックするにはどうしたらいいでしょうか?
また、お伺いしたいのですが、メールアドレスの正規表現チェックは何をお使いですか?
多種多様なメールアドレスのフォーマットに対応しつつも、(DNSを使用しない)メールアドレスの有無チェックができる最強の正規表現探しています。
ご教示頂ければ幸甚です、よろしくお願いします。
gmail の受信用エイリアス(プラス記号)を正規表現でチェックするには
- eregi('^[-!#$%&\*+/0-9=?A-Z^_a-z{|}~](\\.?[-!#$%&\*+/0-9=?A-Z^_a-z{|}~])*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$', $email)
でOKなのですが preg_match の場合はうまくいきません。
ちなみに eregi と preg_match の違いは、「Perl 互換の正規表現構文を使用する preg_match() の 方が、多くの場合、ereg() よりも速く動作する」とか「NFAエンジンか、POSIX NFAエンジンかの違い」なので、eregi でも良いのですが、preg_match で jason+lang@gmail.com のようなメールアドレスをチェックするにはどうしたらいいでしょうか?
また、お伺いしたいのですが、メールアドレスの正規表現チェックは何をお使いですか?
多種多様なメールアドレスのフォーマットに対応しつつも、(DNSを使用しない)メールアドレスの有無チェックができる最強の正規表現探しています。
ご教示頂ければ幸甚です、よろしくお願いします。
この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。
gallu様。shimix様。分かりやすいご解説ありがとうございます。変数のスコープ(有効範囲)は初めのうちは間違いやすいので、関数内で定義された変数かどうかを気をつけて書いてみてください。