PHPの正規表現を使って、入力された数値が郵便番号かどうかを判別する方法を紹介します。

正規表現で、入力された数値が郵便番号かどうか判別する方法:
デモページ

日本国内では、郵便番号は「xxx-xxxx」と、3桁の数字+4桁の数字で表すように定められています。
この数列をPHPの「正規表現」を用いて判別します。

判別を行う正規表現は /^d{3}-d{4}$/ を使います。

先頭と最後にある/(スラッシュ)は正規表現の始まりと終わりを示す記号。
最初の「^¥d{3}」で先頭にある数字が3文字であることを、その次に「-」が入ること、続く「¥d{4}」で数字が4文字であること、最後の「$/」で正規表現の終了を示します。

PHPプログラム全体のコードは以下。

<?php
$zip = mb_convert_kana($_REQUEST['zip'],'a','utf-8');
if (preg_match("/^d{3}-d{4}$/",$zip)) {
echo ('成功です! 郵便番号が入力されました! 〒:'. $zip);
} elseif (empty($zip)) {
echo ('まだ何も入力されていません。');
} else {
echo('入力形式が違います。郵便番号は「123-4567」の形式で記入してください。');
}
?>

関数「mb_convert_kana」で角を半角に変換していることもポイントの1つ。

でもページも用意したので挙動を確認してみてください。

正規表現で、入力された数値が郵便番号かどうか判別する方法:
デモページ