- ベストアンサー
連番の郵便番号にハイフンをいれたい!(PHP)
いつもお世話になります。 郵便番号ですが、「例:1960033」の様に書かれた フォームにおいて、それを「196-0033」の様に 適切にハイフンを入れて表示させたいです。 正規表現などを利用して、なんとかできないでしょうか? 教えて下さい。 流れ的にはこんな感じです。 もし、郵便番号が7桁の数字だけの場合、普通の ハイフンの入ったものに、したい。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> もし、郵便番号が7桁の数字だけの場合 ということですので、3 桁の場合もあるのですよね。 そのときは、何も変換しないとすると $post_code = "1234567"; $post_code = preg_replace("/^(\d{3})(\d{4})$/", "$1-$2", $post_code); print $post_code; 数字3個と4個の並びから構成される場合、 その間にハイフンをいれて置換するという 正規表現になります。 いかがでしょう?
その他の回答 (1)
noname#8825
回答No.1
これだと、郵便番号の桁は決まっているのですから、 $post_a = "1960033" $post_b = substr($post_a, 0,3) ."-". substr($post_a,3); print $post_b; 結果 196-0033 桁が決まっているのですから、こんな感じでも良いのではないでしょうか。
質問者
お礼
回答ありがとうございます。 問題なくできました。
補足
ありがとうございます。 問題なくできました。 同じく、電話番号の場合は、下記のようにすれば良いのでしょうか? $tel = preg_replace("/^(\d{1,4})(\d{1,4})(\d{4})$/", "$1-$2-$3", $tel);