郵便番号を正規表現を使ってチェックする
正規表現を利用するには、preg_match 関数を使用します。
【書式】
preg_match(“/検索パターンを表す文字列/”, 比較文字列)
これで「比較文字列 に 検索パターンを表す文字列 が含まれるか?」を調べることができます。
サンプル
まだ何も入力されていません。
ソース
<form action="" method=post> 郵便番号を「111-2222の形で入力して[送信]をクリックしてください。 <input type="text" name ="zip" size="10" maxlength="8" id="zip" /> <input type="submit" value="送信" /> </form> <?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」の形式で記入してください。'); } ?>
【preg_matchのパラメータ】
- 先頭と最後のスラッシュは正規表現の始まりと終わりを示します。
- 次の^と\dは、「先頭に数字がある」ということを示します
- d{3}は、数字が3つ続くことを表し、その次にはハイフンがきます。
- 最後は数字が4つ続きます