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

Mais conteúdo relacionado

Mais de Nozomu KURASAWA

PGP/GPG キーサインパーティ 接触編
PGP/GPG キーサインパーティ 接触編PGP/GPG キーサインパーティ 接触編
PGP/GPG キーサインパーティ 接触編Nozomu KURASAWA
 
aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話Nozomu KURASAWA
 
真・HTML help文字化け対策
真・HTML help文字化け対策真・HTML help文字化け対策
真・HTML help文字化け対策Nozomu KURASAWA
 
Heroku に ChiliProject を入れてみた
Heroku に ChiliProject を入れてみたHeroku に ChiliProject を入れてみた
Heroku に ChiliProject を入れてみたNozomu KURASAWA
 
PO ファイルで翻訳管理
PO ファイルで翻訳管理PO ファイルで翻訳管理
PO ファイルで翻訳管理Nozomu KURASAWA
 

Mais de Nozomu KURASAWA (8)

PGP/GPG キーサインパーティ 接触編
PGP/GPG キーサインパーティ 接触編PGP/GPG キーサインパーティ 接触編
PGP/GPG キーサインパーティ 接触編
 
aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話aptのマニュアルをpo4a化した話
aptのマニュアルをpo4a化した話
 
OSMを楽しむ2012
OSMを楽しむ2012OSMを楽しむ2012
OSMを楽しむ2012
 
真・HTML help文字化け対策
真・HTML help文字化け対策真・HTML help文字化け対策
真・HTML help文字化け対策
 
おきらく翻訳
おきらく翻訳おきらく翻訳
おきらく翻訳
 
Heroku に ChiliProject を入れてみた
Heroku に ChiliProject を入れてみたHeroku に ChiliProject を入れてみた
Heroku に ChiliProject を入れてみた
 
PO ファイルで翻訳管理
PO ファイルで翻訳管理PO ファイルで翻訳管理
PO ファイルで翻訳管理
 
OpenStreetMapの紹介
OpenStreetMapの紹介OpenStreetMapの紹介
OpenStreetMapの紹介
 

Último

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (7)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

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