📱 電話番号フォーマッター (国別)
30 ヶ国以上に対応した電話番号フォーマッター。国際形式 (+81 90-1234-5678) / 国内形式 / E.164 / tel: URI を一発生成。桁数・国番号プレフィックスのバリデーション、複数行一括処理、CSV エクスポート対応。
🔒 プライバシーについて
- ・すべての処理はブラウザ内 (JavaScript) で完結します
- ・入力した電話番号はサーバーに送信されません
| 入力 | 国際 | 国内 | E.164 | tel: | 判定 |
|---|
📖 つまずきやすいポイント
30 か国以上の分割規則にもとづいて電話番号を整形し、国際表記・国内表記・E.164・tel: URI の 4 形式を同時に出します。1 行 1 件の一括処理と CSV 出力にも対応し、処理はブラウザ内で完結します。ここで行うのは書式の整形であって、番号が実在するかの確認ではありません — 割り当てられていない番号帯も、解約済みの番号も、まったくの架空の番号も、桁が合っていれば同じようにきれいに整形されます。
| ケース | 何が起きるか | どうする |
|---|---|---|
| 先頭の 0 が消える・二重になる | 国内表記の先頭にある 0 は「国内プレフィックス」と呼ばれるもので、番号の一部ではありません — 国内から発信するときだけ付ける記号です。したがって国際形式に直すときは落とし、090-1234-5678 は +81 90 1234 5678 になります。逆方向で落とし忘れると +81 090... という存在しない番号ができます。実務でいちばん被害が大きいのはExcel と CSVで、0312345678 を開くと数値と判定されて先頭の 0 が消え、312345678 になります — しかも保存し直すと元に戻せません。 |
保存する値は E.164 (+819012345678) に統一してください — 国コードを含み、区切り記号を持たず、世界中で一意に定まる唯一の形式です。表示のときだけ国内表記に整形します。CSV を扱うなら、開く前に列の型を「文字列」に指定してください — Excel なら「データ」タブからテキストファイルウィザードを使い、該当列を文字列に設定します。ダブルクリックで開くと必ず壊れます。E.164 なら先頭が + なので Excel も数値と判定しませんが、それを当てにするより、明示的に文字列として読み込むほうが確実です。 |
| 固定電話の区切り位置が正しくない | 日本の市外局番は1 桁から 4 桁まで可変です — 東京は 03、横浜は 045、そして新潟県の一部は 02567 のように 5 桁のものもあります。どこで切るかは総務省の番号計画で個別に決まっていて、桁数からは導けません。しかも市外局番が長いほど市内局番は短くなるという関係があるので、全体の桁数は同じでも切る位置が違います。携帯 (070/080/090) と IP 電話 (050) は形式が固定なので簡単ですが、固定電話を完璧に分割するには番号計画の全データが必要です。 |
固定電話の分割に完璧を期待しないでください。そもそも区切り位置は「見やすさ」の問題であって、発信できるかどうかとは無関係です — 0312345678 も 03-1234-5678 も同じ番号で、どちらも問題なくつながります。したがって tel: URI やデータベースには E.164 をそのまま入れ、区切りは表示だけの装飾として扱ってください。正確な分割が業務上必要な場面 (請求書や公式書類) では、Google の libphonenumber を使ってください — 番号計画のデータを内蔵しており、このツールとは規模がまったく違います。 |
| 存在しない番号でもきれいに整形される | 形式チェックは「その国の番号として桁と先頭がありえる形か」しか見ていません。したがってまだ割り当てられていない番号帯も、解約されて久しい番号も、映画やドラマで使われる架空の番号も、すべて有効に見えます。フォームのバリデーションでこれを「検証済み」と扱うのは危険で、SMS 認証を送ってから初めて届かないと分かることになります。逆方向の失敗もあります — 厳しすぎるバリデーションは、新設された番号帯・国際番号・内線付きの番号を弾いて、正当なユーザーを門前払いします。 | 実在確認の方法は、実際に SMS や音声を届けてみることしかありません。フォームのバリデーションは意図的に緩くしてください — 数字と + と区切り記号だけを許し、長さの上限 (E.164 の 15 桁) だけ見るくらいで十分です。「弾かれた正当な番号」は、こちらからは永遠に見えない損失である一方、「通した不正な番号」は次の工程で確実に検出されます — この非対称性が、緩くすべき理由です。国際化については、国コードだけでは国が決まらないことにも注意してください — +1 は米国・カナダ・カリブ海の 20 か国以上、+7 はロシアとカザフスタンが共有しています。 |
電話番号は、それ単体で個人を特定しうる情報です。したがって扱いには相応の注意が要ります — アクセスログやアプリケーションログに残さない、URL のクエリ文字列に入れない (履歴・リファラ・プロキシのログに残るため)、CSV をそのままメールに添付しない。このページの処理はすべてブラウザ内で完結し番号は送信されませんが、一括処理の結果を CSV としてダウンロードした時点から先は、その扱いはあなたの管理下の問題になります — 手元の Downloads フォルダに顧客の電話番号一覧が残り続ける、というのはよくある事故です。もう 1 点、E.164 の上限は 15 桁 (国コードを含む) ですが、内線番号はこの中に入りません — tel: URI では +81312345678;ext=1234 のように ;ext= で表現します。内線をハイフンでつないで番号本体に混ぜると、発信できない番号になります。
📖 使い方
-
1
国を選択30 ヶ国以上から国を選択します。国によって桁数・分割パターン・国際電話番号 (国コード) が異なります。
-
2
番号を入力単一フォーマット欄では即座に変換結果が表示されます。複数行入力の場合は一括フォーマットボタンで処理します。
-
3
結果をコピー / CSV エクスポート国際 / 国内 / E.164 / tel: URI の 4 形式が表示されます。CSV ボタンで一括ダウンロードも可能です。
❓ よくある質問
E.164 とは何ですか?
libphonenumber を使っていないのはなぜですか?
番号はサーバーに送信されますか?
🔗 関連ツール
- ・テキスト機密マスク
- ・住所分割
- ・電話番号 正規表現ジェネレーター — 30 ヶ国の検証用 regex を JS/PHP/Python/Ruby/Go/Java で生成
- ・正規表現テスター
🐛 このツールで問題が発生しましたか?
完全無料・登録不要。再現手順だけでも結構です。届いたご報告は運営者に直接届き、修正の参考にします。
ご報告ありがとうございます!
運営者に届きました。改善の参考にさせていただきます。