Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
電話番号を扱う技術
Search
Shota Iguchi
October 21, 2017
Technology
14k
21
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
電話番号を扱う技術
Shota Iguchi
October 21, 2017
More Decks by Shota Iguchi
See All by Shota Iguchi
Webpacker移行ガイド / Migrating from Webpacker to Simpacker
iguchi1124
1
620
cookpadLiveのライブ配信基盤
iguchi1124
0
1.3k
師弟登壇 2018 クックパッドで弟子入りした話
iguchi1124
1
3.2k
RackでWEBアプリケーション開発入門
iguchi1124
0
340
Other Decks in Technology
See All in Technology
Kiro Crew入門 - 常駐エージェントの仕組みと使いどころ / Intro to Kiro Crew
k_adachi_01
1
740
Genie Codeハンズオン応用編
taka_aki
0
140
小粒でもパワフルなJS Runtime Antjsについて
comamoca
0
120
コーチングの奥義 何もしないテクニック
jinwatanabe
0
140
【GCC2026】TrueHDRIを用いたルックデブ環境とライティングテクニック
bandainamcostudios
PRO
0
210
私がブラウザを自作したくなった理由
supurazako
1
280
Android skills に学ぶ
kokiko
0
140
ホームラボ紹介
y_sera15
0
230
作って理解するCoding Agent 〜フレームワークに頼らないピュア Python での実装〜
takapy
3
980
35分でわかるEffective Platform Engineering
nwiizo
5
590
関東Kaggler会発表資料
takoi
1
280
RelayerというPHPのフレームワークを作った
polidog
PRO
0
110
Featured
See All Featured
Bash Introduction
62gerente
615
220k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
440
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
350
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
470
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Are puppies a ranking factor?
jonoalderson
2
3.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
640
Transcript
ి൪߸Λѻ͏ٕज़ @iguchi1124
͢͜ͱ ి൪߸ΛWebαʔϏεͰར༻͢ΔͨΊʹߟྀ͢Δ͜ͱ ి൪߸ύʔαʔͷհ
MFA (Multi Factor Authentication) ࿈བྷઌͷొ ϢʔβʔID ి൪߸ΛͬͨΑ͋͘Δػೳ
໌Β͔ʹ͓͔͍͠ͷόϦσʔγϣϯ ࣮ࡍʹଘࡏ͠ಘΔి൪߸͔Ͳ͏͔ w w w w w SMS͕ૹ৴Մೳ͔Ͳ͏͔ ຊࠃ֎ͷܞଳిΛ͍ͬͯΔਓ͍Δ ి൪߸ΛαʔϏεͰར༻͍ͨ͠
ࠃࡍن֨ E164 ITU-T ͕ඪ४Խ͍ͯ͠Δి൪߸ׂܭը ి൪߸͕িಥ͠ͳ͍Α͏ʹ͢ΔΈ ి൪߸Ͳ͏ׂͬͯΒΕΔ͔
ి൪߸Ͳ͏ׂͬͯΒΕΔ͔ https://www.itu.int/rec/T-REC-E.164/
ࣾձੑ༷ ࠃҬͰి൪߸͕িಥ͠ͳ͍Α͏ʹࠃ൪߸Λ࠾൪ ࠃҬ͝ͱͰిΛ͔͚ΔͨΊͷΈ ి൪߸Ͳ͏ׂͬͯΒΕΔ͔
Ϣʔβʔ͕ೝ͍ࣝͯ͠Δి൪߸ͱ ਖ਼نԽ͞Εͨి൪߸શ͘ผ ϢʔβʔʹΑͬͯೖྗ͢Δ ి൪߸ͷϑΥʔϚοτ͕ҧ͏ +
ਖ਼نԽ͞Εͨࠃࡍి൪߸ +81 80 XXXX XXXX Country code National number ࠃίʔυΛڞ༗͍ͯ͠ΔࠃͰҰҙʹͳΔ
Ϣʔβʔ͕ೝ͍ࣝͯ͠Δి൪߸ 080 XXXX XXXX ࠃͰిSMSΛૹ৴͢Δͱ͖಄ʹ͚ͭΔ ࠃʹΑ༷͕ͬͯҟͳΔ National prefix
֤ࠃͰ࠾༻͍ͯ͠ΔࠃϓϨϑΟΫεͱࠃίʔυ ͦͷଞͷಠࣗͰ࠾༻͍ͯ͠Δ༷ SMS͕ૹ৴Ͱ͖Δి൪߸͔Ͳ͏͔ ϢʔβʔͷίϯςΩετ͕Θ͔Δ ݡ͍ύʔαʔ͕ඞཁ ి൪߸ΛόϦσʔγϣϯ͢Δ
ͦ͜Ͱ libphonenumber github.com/googlei18n/libphonenumber
libphonenumberͷίί͕ੌ͍ Google͕ϝϯςφϯε͍ͯ͠Δి൪߸ύʔαʔ ֤ࠃͷి൪߸ͷಠ༷ࣗΛௐਚͨ͘͠࠷ڧͷϝλσʔλ Λ༻ҙ͍ͯ͠Δ ͋ΒΏΔݴޠͰѻ͑ΔΑ͏ʹͳ͍ͬͯΔ Javascript, Ruby, PHP, PostgreSQL, Go,
C++Ͱར༻Ͱ͖Δ
libphonenumberͷίί͕ੌ͍ TelephoneNumber.valid?('8180XXXXXXXX') # => true TelephoneNumber.valid?('+81 80 XXXX XXXX') #
=> true TelephoneNumber.valid?('080 XXXX XXXX', 'JP') # => true require 'telephone_number' telephone_number = TelephoneNumber.parse('8180XXXXXXXX') telephone_number.e164_number # => +8180XXXXXXXX telephone_number.national_number # => 080-XXXX-XXXX telephone_number.country.country_id # => JP telephone_number.valid_types # => [:mobile] github.com/mobi/telephone_number github.com/iguchi1124/global_phone_number ruby port library (WIP)
✅ ֤ࠃͰ࠾༻͍ͯ͠ΔࠃϓϨϑΟΫεͱࠃίʔυ ✅ ͦͷଞͷಠࣗͰ࠾༻͍ͯ͠Δ༷ ✅ SMS͕ૹ৴Ͱ͖Δి൪߸͔Ͳ͏͔ ి൪߸ΛόϦσʔγϣϯ͢Δ ࣮༻ஈ֊
͓ΘΓ