Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

電話番号の扱い方の提案(仮)

333 views

Published on

ながのRubyの会 発表資料

Published in: Technology
  • Be the first to comment

電話番号の扱い方の提案(仮)

  1. 1. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 電話番号の扱い方 の提案(仮) 鍋太郎
  2. 2. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 自己紹介 プログラマー✓ @nabetaro✓ http://about.me/nabetaro✓
  3. 3. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 自己紹介 Ruby歴 12年ほど✓ ✓ 好きなメソッド each✓ ✓
  4. 4. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 電話番号の入力どうしてる? こんなの?✓
  5. 5. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 これあかんやつ ヤコブ・ニールセンに怒られる 「フォーマットは寛容なものに」✓ 自由入力、自動フォーマット✓ https://u-site.jp/alertbox/slips ✓
  6. 6. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 理想 自由な形式で書きたい✓ 自動でフォーマットして欲しい✓
  7. 7. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 電話番号の形式 ITU-T の E.164 15桁✓ 国番号(1-3桁)✓ 残りで個別識別(国ごとに異なる)✓ ✓
  8. 8. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 日本の場合 例: 026-228-1234 国番号: 81 国内プレフィックス: 0 市外局番: 26 市内局番: 228 加入者番号: 1234 ※市外・市内 合わせて5桁
  9. 9. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 ぶっちゃけ ルール大杉✓ ライブラリ欲しい✓
  10. 10. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 ぶっちゃけ ルール大杉✓ ライブラリ欲しい あるよ ✓
  11. 11. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 Phony E164 International Phone Number Handling ✓ このgemで世界中の電話番号 を扱うのが目標 クレイジー!!✓ ✓
  12. 12. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 使い方 メソッド4つ Phony.normalize✓ Phony.format✓ Phony.plausible?✓ Phony.split✓ ✓ 基本的に国番号付きを扱う✓
  13. 13. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 Phony.normalize Phony.normalize(number, option = {}) 正規化✓ Phony.normalize('+81 26 (228) 1234') => "81262281234" Phony.normalize('026-228-1234', cc: '81') => "81262281234" ✓
  14. 14. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 Phony.format Phony.format(number, options = {}) フォーマット(国番号付きを変換)✓ Phony.format('81262281234') => "+81-26-228-1234" Phony.format('81262281234', format: :national) => "026-228-1234" ✓
  15. 15. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 Phony.plausible? Phony.plausible?(number, options = {}) 電話番号らしいか確認✓ Phony.plausible?('81 26-228-1234') => true Phony.plausible?('026-228-1234') => false ん? ✓
  16. 16. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 Phony.split Phony.split(number) 分割(おそらく今までの処理の基盤)✓ Phony.split('81262281234') => ["81", "26", "228", "1234"] ✓
  17. 17. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 その他 Phony[cc] Phony['81']として、国を指定でき る ✓ 修正が必要?✓ Phony["81"].format('8012345634', :format => :national) => "080-1234-5634" 08012345634を指定できてもいいような… Phony['81'].normalize('+1 555 123-4567890') => "15551234567890" 国番号付きならその値に ✓
  18. 18. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 Phonyの現状 国番号付きのデータの出し入れ✓ 国内番号はビミョー✓ Pull Requestを送ろう 国内プレフィックスの扱い✓ ✓
  19. 19. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1 Phonyを直したら… 提案 電話番号を E.164 で保存✓ 表示時にPhonyでフォーマット✓ 理想は国内番号での出し入れ✓ ✓ 提案という名のNeed Help✓

×