電話番号フィールドの自動変換条件
最終更新日:2026年08月04日
SPIRAL ver.1の電話番号フィールドタイプは、登録されたデータをハイフンで区切ります。
また、データ登録時に、フォーマットやハイフン区切りのブロック(国コード、市外局番など)の条件に応じてデータを自動変換します。
各ブロックの変換条件について、以下の表をご参照ください。
※電話番号フィールドタイプは、登録データに必ずハイフンが入ります。
ハイフンなしで電話番号をDBに登録したい場合は、テキストや数字・記号・アルファベットのフィールドタイプを使用してください。
電話番号の構成
本記事では、電話番号を「国コード」「市外局番」「市内局番」「加入者番号」の単位で説明します。
例:+81-90-1234-5678
国コード:81 / 市外局番:090 / 市内局番:1234 / 加入者番号:5678
※国コード81(日本)は登録時に省略されます。
よくある変換例
電話番号フィールドでは、入力された値に応じて自動的にフォーマット変換が行われます。
特にテスト登録で「00-0000-0000」などの実在しない電話番号を利用した場合、入力値と異なる形式で登録されることがあります。
また、入力値によっては先頭に0が補完される場合があります。
主な変換例は以下のとおりです。
| 入力値 | 登録値 | 変換理由 |
|---|---|---|
| 00-0000-0000 | 00-0-0000 | 電話番号フィールドの分割ルールに従い、市外局番・市内局番・加入者番号へ自動的に再構成されます。 |
| 03-1234-12 | 03-1234-0012 | 加入者番号が4桁未満の場合、先頭に0を付与します。 |
| 0120-123-45 | 0120-123-045 | 0120/0800/0570/0990の場合、加入者番号が3桁未満の場合は先頭に0を付与します。 |
| 090-12-345 | 090-12-00345 | 080/090/070/020かつ市内局番が1000未満の場合、加入者番号を5桁として扱います。 |
| 090-1000-12 | 090-1000-0012 | 市内局番が1000以上の場合は通常の電話番号と同様のルールが適用されます。 |
| +81-90-1234-5678 | 090-1234-5678 | 国コード81(日本)は省略して登録します。
※国コードはDBオペレーションからは登録できますが、フォームの場合はシステムエラーが発生します。 |
各ブロックの変換条件
| ブロック | 他ブロックの影響・条件 | フォーマット | 変換内容 |
|---|---|---|---|
| 国コード | 無し | 1~4桁の整数 | +から、もしくは数字の途中で+が存在し、
数字で終わるブロックがある場合に格納 |
| 市外局番 | 国コードが無い
もしくは81(日本) |
0+1~7桁の整数 | 1~7桁目までの数字を抜き出し、整数に変換し0を追加 |
| 国コードが81(日本)以外 | 1~7桁の整数 | 1~7桁目までの数字を抜き出し、整数に変換 | |
| 市内局番 | 国コードが無い
もしくは81(日本) 市外局番が 120(0120)or800(0800)or570(0570)or990(0990) 加入者番号が1000未満 市内局番が0以上 |
3桁未満の場合:0XX
3桁以上の場合:3~4桁の整数 |
1~4桁目までの数字を抜き出して整数に変換し、
3桁に満たなかった場合、先頭から0を追加 |
| 上記以外 | 1~4桁の整数 | 1~4桁目までの数字を抜き出して整数に変換 | |
| 加入者番号 | 国コードが無い
もしくは81(日本) 市外局番が 120(0120)or800(0800)or570(0570)or990(0990) 加入者番号が0以上 |
3桁未満の場合:0XX
3桁以上の場合:3~5桁の整数 |
1~5桁目までの数字を抜き出して整数に変換し、
3桁に満たなかった場合、先頭から0を追加 |
| 国コードが無い
もしくは81(日本) 市外局番が 80(080)or90(090)or70(070)or20(020) 市内局番が1000未満 加入者番号が0以上 |
5桁未満の場合:0XXXX
5桁以上の場合:5桁の整数 |
1~5桁目までの数字を抜き出して整数に変換し、
5桁に満たなかった場合、先頭から0を追加 |
|
| 加入者番号が0以上の場合 | 4桁未満の場合:0XXX
4桁以上の場合:4~5桁の整数 |
1~5桁目までの数字を抜き出して整数に変換し、
4桁に満たなかった場合、先頭から0を追加 |
|
| 内線番号 | 無し | 1~5桁の整数 | 1~5桁目までの数字を抜き出して整数に変換 |
その他
電話番号の登録時に空白(スペース)を含む場合
各ブロックの先頭や末尾の空白は除外して登録します。
「市外局番」「市内局番」「加入者番号」をスペース区切りで入力した場合は、スペース区切り部分をハイフンに変換して登録します。
| 入力値 | 登録値 |
|---|---|
| 03 1234 5678 | 03-1234-5678 |
| 090 1234 5678 | 090-1234-5678 |
※フォームで入力値チェックをチェックするに設定している場合やDBオペレーションから登録する際は、数字と数字の間に空白があると入力エラーになります。
DBオペレーションとフォームで登録可否が異なるケース
電話番号フィールドでは、自動変換によって登録可能となる値があります。
例えば、以下のような値はフォーム経由では登録できますが、DBオペレーションからは登録できません。
| フォームからの入力値 | 登録値 |
|---|---|
| 03-1234-12 | 03-1234-0012 |
| 0120-123-45 | 0120-123-045 |
| 0800-1-23 | 0800-001-023 |
| 0990-1-23 | 0990-001-023 |
| 090-12-345 | 090-12-00345 |
| 080-999-12 | 080-999-00012 |
| 020-1-234 | 020-1-00234 |
| 090-1000-12 | 090-1000-0012 |
登録経路によって入力チェックのタイミングが異なるため、登録可否に差異が生じる場合があります。
※電話番号フィールドに登録できない値は、自動変換の対象外です。

