PHPでの正規表現についてのメモ書き   

 

以下は、郵便番号をチェックする為のプログラム。

(\マークは、JISでは\(円記号)。ASCIIではバックスラッシュである)

 

 <?php

    $zip = '987-6543';

 

    $zip = mb_convert_kana($zip, 'a', 'UTF-8');

    if(preg_match("/\A\d{3}[-]\d{4}\z/",$zip)){

        print('郵便番号:〒' . $zip);

    }else{

        print('※ 郵便番号を 123-4567の形式でご記入ください');

    }

?>

 

mb_convert_kanaを使用しているので、全角の数字も許可するプログラムとなっている。

preg_matchにて、正規表現のチェックを行っている。

 

正規表現の意味合いは以下の通り。

/

\A  文章の先頭であることをチェックする

\d{3} dはdecimal(十進法)を意味する。10進数3桁であることをチェックする

[-] 半角の - であることをチェックする

\d{4} 10進数4桁であることをチェックする

\z 文章の最後であることをチェックする

/