jp3cki/yii2-jp-phone-validator

Phone number validator for Yii Framework2

v2.0.0 2019-11-18 20:20 UTC

This package is auto-updated.

Last update: 2020-11-15 19:50:20 UTC


README

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

License Latest Stable Version Build Status Scrutinizer Code Quality

動作環境

  • PHP 7.1 以上
  • Yii framework 2.0

インストール

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

使い方

JpPhoneValidator

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

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

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

Model class example:

namespace app\models;

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

class YourCustomForm extends Model
{
    public $value;

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

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

  • FLAG_LANDLINE: 固定電話の番号を受け入れます。
  • FLAG_MOBILE: 090 080 070 の携帯電話・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_PAGER: 020 のポケットベルを受け入れます。

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

  • 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-2019 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.

非互換の更新

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