###備忘録。
結構適当なので、使用は気を付ける。
記号もパイプ許可とか外した方が精神的に安心だが。
preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\?\*\[|\]%'=~^\{\}\/\+!#&\$\._-])*@([a-zA-Z0-9_-])+\.([a-zA-Z0-9\._-]+)+$/", $mailaddress)
解説
下記を確認。
1.英数字
2.英数字 ? * [ | ] % ' = ~ ^ { } / + ! # & $ . _ -
3.@
4.英数字 _ -
5.ピリオド
6.英数字 . _ -
######※追記
コメント頂いているように生半可なチェックをするぐらいなら下記で判定した方がよいです。
(bool)filter_var($email, FILTER_VALIDATE_EMAIL);