PHP正規表現

前に作ったお問い合わせフォームで使用した正規表現のメモ。

mb_convert_kana

文字列を「全角」←→「半角」に変換する。

mb_convert_kana( 文字列, 変換オプション, 文字エンコーディング );

第3引数で出力する文字エンコーディングを指定します。指定しない場合は内部文字符号でエンコードされます。
※第3引数を省略するとエラーが起こる場合があるので、そのときは文字エンコーディングを指定してあげる。

preg_match

正規表現のマッチングを行う。

preg_match("/パターン/", $string);

「$string」の内容がパターンにマッチしたときTRUEになります。

mb_ereg

マルチバイト文字列に正規表現マッチングを行う。

mb_ereg("パターン", $str);

「$string」の内容がパターンにマッチしたときTRUEになります。
全角の正規表現を行う場合は、以下の関数で文字コードを設定していないと正常に動作しません。

mb_regex_encoding("UTF-8")

電話番号やメールアドレスのチェックのチェックを厳密にするとかなり複雑になりますね。検索すればかなりの情報が出てきますが、いろんな方法があります。
今回は以下の方法でチェックを行いました。

電話番号
(preg_match("/^0\d{1,4}-\d{1,4}-\d{4}$/" , $tel))
メールアドレス
(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $mail1))