電話番号バリデーターとフォーマッター
Googleのlibphonenumberのデータで、各国の電話番号が有効か可能性があるかを判定し、携帯/固定の種別、E.164、国際形式、国内形式に整形します。
国際形式(+…)、または国内番号とデフォルトの国を指定します。
電話番号バリデーターとは?
このツールは、電話番号がその国の番号計画に照らして有効かを確認し、E.164、国際形式、国内形式、tel: URI(RFC 3966)形式に整形します。番号計画で判別できる場合は、回線の種別(携帯、固定、フリーダイヤル、有料、VoIPなど)も識別します。
電話番号バリデーターの使い方
- 国際形式(+で始まる)の番号、または国内番号を入力します。
- 国内番号の場合は、既定の国を選びます。
- 判定(有効、桁数のみ可能、無効)、国、回線種別を確認します。
- データベースやSMS API向けにはE.164形式を、表示用には国内形式をコピーします。
例
0912 345 678 (default country: Vietnam)
Valid · Vietnam (VN) · Mobile · E.164 +84912345678 · international +84 912 345 678 · national 0912 345 678
+1 650 253 0000 は +16502530000 と (650) 253-0000 になります。
電話番号バリデーターを使うべき場面
保存前に電話番号をE.164に正規化する、フォーム入力を検証する、表示用に番号を整形するといった場面で使います。有効という結果は、番号が公式の計画に適合するという意味にすぎず、未割り当て、番号ポータビリティで移行済み、回線が切断済みの可能性もあり、誰の番号かはツールには分かりません。
電話番号バリデーターの仕組み
検証には、Googleのlibphonenumberから派生した完全な(「max」)メタデータを使ったlibphonenumber-jsを使用します。番号は国番号と国内番号に解析され、その国の回線種別ごとの番号パターンと照合されます。「possible」な番号は、桁数がもっともらしいものの、割り当て済みのどのパターンにも一致しないものです。ライブラリは必要に応じて読み込まれ、すべてブラウザ内で動作します。
一般的な使用例
- 0912 345 678 のような国内番号を、SMSゲートウェイ向けに +84912345678 に変換する。
- SMSを送る前に、番号が携帯かどうかを確認する。
- CRMのエクスポートにある電話番号を、1つの形式に整える。
- 請求書やWebサイト向けに、国際番号を整形する。
よくある質問
E.164とは何ですか。
ITUの標準形式で、+に続けて国番号と国内番号をスペースなしで並べた最大15桁の形式です(例: +442079460958)。ほとんどのAPIがこの形式を期待します。
米国の番号が「landline or mobile」と表示されるのはなぜですか。
北米番号計画では、携帯と固定の番号が同じ範囲を共有しているため、番号だけでは種別を判別できません。
番号はサーバーに送信されますか。
いいえ。検証は、同梱のメタデータを使ってローカルで実行されます。