SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
電話番号の扱い方の提案(仮) 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✓

Más contenido relacionado

Más 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
 

Más 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

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 

Último (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 

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