Contenu connexe
Plus de Nozomu KURASAWA (8)
電話番号の扱い方の提案(仮)
- 5. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1
これあかんやつ
ヤコブ・ニールセンに怒られる
「フォーマットは寛容なものに」✓
自由入力、自動フォーマット✓
https://u-site.jp/alertbox/slips
✓
- 8. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1
日本の場合
例: 026-228-1234
国番号: 81
国内プレフィックス: 0
市外局番: 26
市内局番: 228
加入者番号: 1234
※市外・市内 合わせて5桁
- 11. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1
Phony
E164 International Phone
Number Handling
✓
このgemで世界中の電話番号
を扱うのが目標
クレイジー!!✓
✓
- 12. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1
使い方
メソッド4つ
Phony.normalize✓
Phony.format✓
Phony.plausible?✓
Phony.split✓
✓
基本的に国番号付きを扱う✓
- 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. 電話番号の扱い方の提案(仮) 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. 電話番号の扱い方の提案(仮) 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. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1
Phony.split
Phony.split(number)
分割(おそらく今までの処理の基盤)✓
Phony.split('81262281234')
=> ["81", "26", "228", "1234"]
✓
- 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" 国番号付きならその値に
✓
- 19. 電話番号の扱い方の提案(仮) Powered by Rabbit 2.2.1
Phonyを直したら…
提案
電話番号を E.164 で保存✓
表示時にPhonyでフォーマット✓
理想は国内番号での出し入れ✓
✓
提案という名のNeed Help✓