MG TF のみんなの質問

解決済み
回答数:
2
2
閲覧数:
229
0

正規表現につけちょっとだけかじりましたが、
「!ereg("^[0-9,a-z,A-Z,_,\.,-]+@[0-9,A-Z,a-z][0-9,a-z,A-Z,_,\.,-]+[0-9,a-z,A-Z,_,-]+\.(ac|a
d|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|

aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|b
w|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|e
s|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|i
d|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|l
u|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|n
p|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|s
j|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|u
s|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw|aero|asia|biz|cat|com|coop|edu|gov|info|int|jo
bs|mil|mobi|museum|name|net|org|pro|tel|travel)$", $mail 」

というのを見つけたのですが、どうしてもエラーになってしまいます。
Fatal error: Uncaught Error: Call to undefined function ereg()とStack trace: #0 {main} thrownです。
どなたかpreg_matchで書き直せる方はいませんか?

「みんなの質問」はYahoo!知恵袋の「自動車」カテゴリとデータを共有しています。

ベストアンサーに選ばれた回答

PHP7.1以降であれば最良の選択肢は filter_var + checkdnsrr です。以下に結論があるので参照してください。

PHPで各種バリデーション - Qiita
http://qiita.com/mpyw/items/346f1789ad0e1b969ebc#e%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9

既存回答で小飼さんの正規表現が紹介されていますが、これにも不備はあります。以下で比較しています。

PHPしか書けないザコがメールアドレス正規表現でガチ勢に挑んでみた - Qiita
http://qiita.com/mpyw/items/257eabe0b43b1e02e6f7#%E7%A7%81%E3%81%AE%E9%96%A2%E6%95%B0

PHP7.1~: filter_var + checkdnsrr
~PHP7.0: symfony/Validator

基本的にはこれで。メールアドレスの正規表現は自分で書くにはあまりにも難易度が高すぎます。

その他の回答 (1件)

  • たしかにeregはphp7以降は削除されています(http://php.net/manual/ja/function.ereg.php)。


    メールアドレスのチェックであれば、filter_varで、FILTER_VALIDATE_EMAIL をチェックするのが一番気楽かもしれません(phpに丸投げ)。

    http://php.net/manual/ja/function.filter-var.php
    http://php.net/manual/ja/filter.filters.validate.php

    どうしてもpreg_matchを使いたければ、こういうパターンかな・・・

    http://blog.livedoor.jp/dankogai/archives/51189905.html

    正直、.(ac|ad|ae|af|ag|ai|al|am|an|ao|aq・・・・)をチェックするのは無駄です。ドメイン種別が増えるたびに書き直しますか?

    #すでに記述が不足しているようですし(https://muumuu-domain.com/newgtld/)

「みんなの質問」はYahoo!知恵袋の
「自動車」カテゴリとデータを共有しています。

あわせて知りたい

MG TF 新型・現行モデル

査定を依頼する

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!
愛車を賢く売却して、購入資金にしませんか?

あなたの愛車いまいくら?
メーカー
モデル
年式
走行距離

※ 掲載しているすべての情報について保証をいたしかねます。新車価格は発売時の価格のため、掲載価格と実際の価格が異なる場合があります。詳細は、メーカーまたは取扱販売店にてお問い合わせください。

ログイン

中古車探しをもっと便利に

  • 中古車お気に入り管理
  • おすすめ中古車の表示

あなたにおすすめのサービス

あなたの愛車、今いくら?

複数社の査定額を比較して愛車の最高額を調べよう!

あなたの愛車いまいくら?
メーカー
モデル
年式
走行距離