質問: 現在javascriptで以下の正規表現を使っているのですが、これと同様の効果を得られる正規表現をPHPでも使いたいと考えています。 どのように記述したら同じような制御を期待できるのでしょうか? ``` mail.match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/){ alert('NG'); } ``` これを以下のようにしたいです。 ``` if(preg_match(/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/),$mail){ echo 'NG'; } ```
回答: 私が参考にしていたサイトの情報です。 そろそろメールアドレスを正規表現だけでチェックするのは終わりにしませんか? 正規表現のパターンも載っています。 $pattern = '/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*@\[?([\d\w\.-]+)]?$/'; 参考までですが・・・ phpでやるならばさらに踏み込んでチェックできるので、 checkdnsrrを使うことで、存在しないドメインでの登録が回避できます。