Yii2 phone formatter and validator.

Installs: 8 766

Dependents: 3

Suggesters: 0

Security: 0

Stars: 2

Watchers: 2

Forks: 2

Open Issues: 0


2.2.3 2023-07-25 18:42 UTC

This package is auto-updated.

Last update: 2024-06-07 14:38:33 UTC


Formatter and validator form phone numbers

Этот файл доступен на русском языке.

Build Status Code quality score Code Coverage Latest Stable Version Total Downloads License


To use this extension run this command:

$ composer require floor12/yii2-phone

or add this to the require section of your composer.json.

"floor12/yii2-phone": "dev-master"


This extension allows to validate phone numbers and save only numbers in db without any formatting. It also include simple formatter to render formatted phone numbers as string or html <a href='tel:'> tag.

Phone validation

To store phone number in database, ActiveRecord model database field should be VARCHAR(15).

The validator has backend and frontend (js) validation. To validate your field, add floor12\phone\PhoneValidator to ActiveRecord::rules() action like this:

use floor12\phone\PhoneValidator;
use yii\base\Model;

class User extends Model

    public $phone;

    public function rules()
        return [
            ['phone', PhoneValidator::class]

Phone formatting

Class floor12\phone\PhoneFormatter allows to render phone number as formatted string or as html <a href="tel:">, and has two static methods:

  • PhoneFormatter::format($phone)
  • PhoneFormatter::a($phone,array $options= [])

Formatting examples

echo PhoneFormatter::format(79461234565);                       # +7 (946) 123-45-65
echo PhoneFormatter::a(79461234565);                            # <a href='tel:+79461234565'>+7 (946) 123-45-65</a>
echo PhoneFormatter::a(79461234565,['class'=>'phone-link']);    # <a href='tel:+79461234565' class='phone-link'>+7 (946) 123-45-65</a>