Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
電話番号を扱う技術
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
630
cookpadLiveのライブ配信基盤
iguchi1124
0
1.3k
師弟登壇 2018 クックパッドで弟子入りした話
iguchi1124
1
3.2k
RackでWEBアプリケーション開発入門
iguchi1124
0
350
Other Decks in Technology
See All in Technology
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
180
hackers_champloo_2026_tidb
makocchi
0
170
夫婦で子育てするための育児標準化
codmoninc
PRO
0
440
Post AI時代のリファクタリング実践記 / Refactoring in the post AI era
kaminashi
1
270
宣言型部分更新は何を解決しどこへ向かうのか
shuta13
1
470
日本語に強いオープンな大規模言語モデル「LLM-jp」
odashi
5
1.2k
Webの常識が通じないHTMLメールのダークモード
teamlab
PRO
0
130
ブラウザとサーバーから考えるAI時代のフロントエンド監視
shogo4131
3
1k
Local CI × GitHub Actions
gogutan
2
220
Kiro Crewをはじめよう
kizawa2020
1
160
Rust で関数型ドメインモデリング
takonda
0
170
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
600
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.7k
Raft: Consensus for Rubyists
vanstee
142
7.8k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
Abbi's Birthday
coloredviolet
4
10k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
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͕ૹ৴Ͱ͖Δి൪߸͔Ͳ͏͔ ి൪߸ΛόϦσʔγϣϯ͢Δ ࣮༻ஈ֊
͓ΘΓ