Нормалізатор номерів телефонів

Досить частою задачею в роботі з клієнтськими проектами є нормалізація номерів телефонів. Замовники на сайтах можуть вводити телефон у міжнародному форматі, у локальному, з дужками, без дужок, з плюсом на початку чи без.


Наша Студія розробила свій універсальний метод для українських телефонних номерів, який дозволяє привести номер телефону до локального або міжнародного формату: або 0991234567 або +380991234567

Якщо Ви пишете на Laravel або схожих системах, цей медод можна додати до helpers.php як допоміжний.

function normalize_phone_number($s, $internation = true)    {        $s = trim($s);        $s = preg_replace('/[^0-9]/', '', $s);        $s = preg_replace('/^[+]?380/', '0', $s);        if (strlen($s) === 11 && substr($s, 0, 1) === '8') $s = substr($s, 1);        if (strlen($s) === 11 && substr($s, 0, 2) === '38') $s = '0' . substr($s, 2);        if (strlen($s) === 12 && substr($s, 0, 2) === '38') $s = substr($s, 2);                if (!$internation) {            return $s;        }                return $s = '+38' . $s;            }
PHP

Давайте протестуємо:

echo normalize_phone_number('380(99)123-45-678');		+3809912345678		echo normalize_phone_number('380(99)123-45-678', false);		09912345678
PHP

Відтепер хоча б для українських телефонів можна не страждати 😄

Цей сайт використовує файли cookie. Ми не персоналізуємо Вас, а лише робимо серфінг на сайті зручнішим. Ви можете ознайомитись з нашою Політикою приватності.