質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

3回答

3803閲覧

変数に入ってる電話番号を分割したい(ex. 09012345678を090-1234-5678)

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2018/07/29 01:16

ご覧いただきありがとうございます。
今、簡単なwebアプリを作っており、プロフィール画面を作成中です。
そこで、@user.phoneの中には電話番号が入っています。
しかし、@user.phoneには09012345678のように電話番号が入っており、表示させる際はわかりにくいので、
090-1234-5678のように表示させたいのですがいい方法が思い浮かばず悩んでいます。

もしご存知でしたら教えていただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

参考情報

  • [Ruby on Rails 4] 電話番号を読みやすく整形したい

https://www.d-wood.com/blog/2017/04/27_8922.html

  • Format your telephone numbers

https://github.com/iTakeshi/tel_formatter

  • ハイフン無しの電話番号をハイフン付の形式に変換してみる

https://qiita.com/tomgoodsun/items/f3050689ac84827d5af9

投稿2018/07/29 02:48

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

後悔されているライブラリがあるかという質問であれば知りませんが、一般的には、
・下4桁を区切る
・先頭から、市外局番や090、0120等を区切る
と言うことになるかと思います。

市外局番のオフィシャルなデータは、総務省>市外局番の一覧にあるようなので、そこから毎日ダウンロードして更新するのでしょうか。

投稿2018/07/29 01:46

otn

総合スコア84505

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こういう場合はいろんな方向から考えるといいですよ。

そのままやろうとしてもきついので、私なら

■ とりあえず文字列として考えてみる

でしょうか。

09012345678 -> 090-1234-5678

なら、

左から数えて 3桁目と4桁目の間に, 右から数えて4桁目と5桁目の間に それぞれ "-" が置かれていますね。

日本国内だけでいいなら、

3-4-4 の11桁になりますね。

昔は10桁もあったようですが、現在では11桁。

だから私なら、

# 対象の数値を文字列化して @temp に入っているとして 大前提として: 1. 桁数を確認。もし長さが11でない( 言語によっては+1するけど。 ) ならはじく 一回目の処理: 1. 左から数えて3+1番目 ( 3番目と4番目の間だから ) に '-' を追加する 二回目の処理: 1. 左から数えて(3+1)+(4+1)番目 ( 先ほどの位置から4+1個後 ) に '-' を追加する

みたいにするかな。

for文を使うのがいいかもしれないけど、今は思いつかない...

投稿2018/07/29 02:02

BeatStar

総合スコア4958

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/07/29 02:54

> 3-4-4 このケースに当てはまらない番号はかなりあると思いますが。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問