jp3cki/yii2-jp-phone-validator

Phone number validator for Yii Framework2

Maintainers

Package info

github.com/fetus-hina/yii2-jp-phone-validator

Type:yii2-extension

pkg:composer/jp3cki/yii2-jp-phone-validator

Transparency log

Statistics

Installs: 103

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v5.0.0 2026-07-04 09:34 UTC

README

日本の電話番号をチェックする Yii Framework2 用のバリデータです。

License Latest Stable Version

動作環境

  • PHP 8.2 以上
  • Yii framework 2.0.x

インストール

  1. Composer をダウンロードして使用可能な状態にします。
  2. 必要であれば Yii Framework2 のプロジェクトを作成します。
  3. php composer.phar require jp3cki/yii2-jp-phone-validator

使い方

JpPhoneValidator

このバリデータは入力が日本の電話番号らしい文字列であることを検証します。

市外局番が存在するかなどのチェックは行えますが、番号が実在することは確認できません。

フリーダイヤル等を許容するかどうか、ハイフンを許容するかどうかを設定できます(ハイフンの位置が間違っている場合はエラーになります)。 110 等の特番は扱えません。

Model class example:

declare(strict_types=1);

namespace app\models;

use Override;
use jp3cki\yii2\jpphone\JpPhoneValidator;
use yii\base\Model;

final class YourCustomForm extends Model
{
    public ?string $value;

    /**
     * @inheritdoc
     */
    #[Override]
    public function rules()
    {
        return [
            [['value'], JpPhoneValidator::class,
                'types' => JpPhoneValidator::FLAG_CONSUMERS, // 意味は後述
                'hyphen' => null, // 意味は後述
            ],
        ];
    }
}

types: 許容する電話番号の種類を設定します。複数の種類を受け入れる場合は bit-or | で接続します。デフォルトは FLAG_CONSUMERS です。

  • FLAG_LANDLINE: 固定電話の番号を受け入れます。
  • FLAG_MOBILE: 090 080 070 060 の携帯電話・PHSを受け入れます(番号ポータビリティ等の都合により、電話会社を識別したりPHSを識別したりはできません)。
  • FLAG_IP_PHONE: 050 のIP電話を受け入れます(050でないIP電話は固定電話と区別がつきません)。
  • FLAG_FREE_DIAL: 0120 のフリーダイヤルを受け入れます。ハイフンの位置は0120-000-0000120-00-0000を受け入れるようになっています。 FLAG_FREE_ACCESS も参照してください。
  • FLAG_FREE_ACCESS: 0800 のフリーアクセスを受け入れます。 FLAG_FREE_DIAL も参照してください。
  • FLAG_NAV_DIAL: 0570 のナビダイヤルを受け入れます。
  • FLAG_M2M: 020 のM2M・データ伝送携帯電話番号を受け入れます。020-0000-0000(11桁)と0200-00000-00000(14桁)の2種類があります。

利便性のために次の定数も準備されています。

  • FLAG_CONSUMERS: FLAG_LANDLINE|FLAG_MOBILE|FLAG_IP_PHONE。顧客情報を登録してもらう際に一般的に必要となりそうな番号です。
  • FLAG_ALL: サポートしている全ての種類を受け入れます。

なお、FLAG_FREE_DIALFLAG_FREE_ACCESS を分けて設定する意味はあまりないものと推測されます。

hyphen: ハイフンの許可状況を設定します。

  • null: ハイフンの有無を気にしません(ハイフンが記入されている場合は正しい位置にハイフンがある必要があります)。
  • true: ハイフンを必須とします。(正しい位置にハイフンがある必要があります)
  • false: ハイフンを許容しません。(数字のみの羅列である必要があります)

ライセンス

The MIT License.

The MIT License (MIT)

Copyright (c) 2015-2026 AIZAWA Hina <hina@fetus.jp>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

非互換の更新

  • v4.0 → v5.0

    • PHPの要求バージョン 8.2 に引き上げました。
    • ポケベル(020-4)対応コードを削除しました。定数 FLAG_PAGER を削除したため、参照しているコードは動作しなくなります。
    • ダイヤルQ2(0990)対応コードを削除しました。定数 FLAG_DIAL_Q2 を削除したため、参照しているコードは動作しなくなります。
    • 020 のM2M・データ伝送携帯電話番号に対応しました。定数 FLAG_M2M を追加しています。
    • 上記に伴い FLAG_ALL の値を変更しました(0x00ff0x013f)。ポケベル・ダイヤルQ2を含まなくなり、代わりにM2M(FLAG_M2M)を含むようになっています。
  • v3.0 → v4.0

    • PHPの要求バージョン 8.1 に引き上げました。コード上の非互換はありません。
  • v2.0 → v3.0

    • PHPの要求バージョン 7.3 に引き上げました。コード上の非互換はありません。
  • v1.0 → v2.0

    • PHPの要求バージョンを引き上げました。コード上の非互換はありません。