Парсинг и форматирование номеров телефонов 1С-Битрикс

Введение

Класс Bitrix\Main\PhoneNumber\Parser предоставляет функциональность для разбора и форматирования номеров телефонов в Битрикс D7. Давай рассмотрим его возможности на примерах.

1. Разбор номера телефона в объект


/**
 * @var \Bitrix\Main\PhoneNumber\PhoneNumber $parsedPhone
 * @see bitrix/modules/main/lib/phonenumber/phonenumber.php
 */
$phone = '+7 (999) 999-99-99';
$parsedPhone = \Bitrix\Main\PhoneNumber\Parser::getInstance()->parse($phone);

2. Форматирование номера в формате E164 (+79999999999)


/**
 * @var \Bitrix\Main\PhoneNumber\PhoneNumber $parsedPhone
 */
$formattedE164 = $parsedPhone->format(\Bitrix\Main\PhoneNumber\Format::E164);

3. Форматирование номера в интернациональном формате (+7 999 999-99-99)


/**
 * @var \Bitrix\Main\PhoneNumber\PhoneNumber $parsedPhone
 */
$formattedInternational = $parsedPhone->format(\Bitrix\Main\PhoneNumber\Format::INTERNATIONAL);

4. Форматирование номера в национальном формате (8 (999) 999-99-99)


/**
 * @var \Bitrix\Main\PhoneNumber\PhoneNumber $parsedPhone
 */
$formattedNational = $parsedPhone->format(\Bitrix\Main\PhoneNumber\Format::NATIONAL);

5. Двухбуквенный код страны номера телефона (например, “RU”)


/**
 * @var \Bitrix\Main\PhoneNumber\PhoneNumber $parsedPhone
 */
$countryCode = $parsedPhone->getCountry();

6. Цифровой код страны номера телефона (например, “7”)


/**
 * @var \Bitrix\Main\PhoneNumber\PhoneNumber $parsedPhone
 */
$numericCountryCode = $parsedPhone->getCountryCode();

7. Получение страны по умолчанию из настроек (phone_number_default_country)


$defaultCountry = \Bitrix\Main\PhoneNumber\Parser::getDefaultCountry();

8. Получение страны по умолчанию из пользовательских настроек (phone_number)


$defaultCountry = \Bitrix\Main\PhoneNumber\Parser::getUserDefaultCountry();

9. Нормализация номера телефона одной строкой


/**
 * @var string $phone
 * @var string $normalizedPhone
 */
$normalizedPhone = \Bitrix\Main\PhoneNumber\Parser::getInstance()->normalizePhoneNumber($phone);

10. Проверка валидности номера телефона


/**
 * @var \Bitrix\Main\PhoneNumber\PhoneNumber $parsedPhone
 */
$parsedPhone = \Bitrix\Main\PhoneNumber\Parser::getInstance()->parse($phone);
$isValid = $parsedPhone->isValid(); // true|false

11. Получение текущей страны


$сountry = \Bitrix\Main\PhoneNumber\Parser::detectCountry(); // RU

© 2026 MB

Desing by mb4design