• ベストアンサー

連番の郵便番号にハイフンをいれたい!(PHP)

いつもお世話になります。 郵便番号ですが、「例:1960033」の様に書かれた フォームにおいて、それを「196-0033」の様に 適切にハイフンを入れて表示させたいです。 正規表現などを利用して、なんとかできないでしょうか? 教えて下さい。 流れ的にはこんな感じです。 もし、郵便番号が7桁の数字だけの場合、普通の ハイフンの入ったものに、したい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • togino
  • ベストアンサー率75% (97/129)
回答No.2

> もし、郵便番号が7桁の数字だけの場合 ということですので、3 桁の場合もあるのですよね。 そのときは、何も変換しないとすると $post_code = "1234567"; $post_code = preg_replace("/^(\d{3})(\d{4})$/", "$1-$2", $post_code); print $post_code; 数字3個と4個の並びから構成される場合、 その間にハイフンをいれて置換するという 正規表現になります。 いかがでしょう?

waterclock
質問者

補足

ありがとうございます。 問題なくできました。 同じく、電話番号の場合は、下記のようにすれば良いのでしょうか? $tel = preg_replace("/^(\d{1,4})(\d{1,4})(\d{4})$/", "$1-$2-$3", $tel);

その他の回答 (1)

noname#8825
noname#8825
回答No.1

これだと、郵便番号の桁は決まっているのですから、 $post_a = "1960033" $post_b = substr($post_a, 0,3) ."-". substr($post_a,3); print $post_b; 結果 196-0033 桁が決まっているのですから、こんな感じでも良いのではないでしょうか。

waterclock
質問者

お礼

回答ありがとうございます。 問題なくできました。

関連するQ&A

専門家に質問してみよう