Валидатор телефона в Битриксе

Битрикс теперь может попытаться преобразовать строковое представление номера телефона в объект, а также преобразовать его обратно в строку в заранее определенном формате.
[spoiler]

use Bitrix\Main\PhoneNumber\Format;
use Bitrix\Main\PhoneNumber\Parser;

$phone = '89011111111';

// Парсим номер телефона с помощью класса-парсера
$parsedPhone = Parser::getInstance()->parse($phone);

// Из объекта распарсенного телефона можно получить разное. Например код страны
echo $parsedPhone->getCountry(); // RU

// или ... опять код страны
echo $parsedPhone->getCountryCode(); // 7

// или тип номера, возможные типы:
// 'noInternationalDialling', 'areaCodeOptional', 'fixedLine',
// 'mobile', 'pager', 'tollFree', 'premiumRate', 'sharedCost',
// 'personalNumber', 'voip', 'uan', 'voicemail'
echo $parsedPhone->getNumberType(); // mobile

// Ну или оригинальный телефон, который был скормлен парсеру
echo $parsedPhone->getRawNumber(); // 89011111111

// А можно переформатировать объект телефона в один из поддерживаемых форматов
// Национальный, видимо "наш"
echo $parsedPhone->format(Format::NATIONAL);

// Международный
echo $parsedPhone->format(Format::INTERNATIONAL);

// Ну и более-менее стандартизированный по https://ru.wikipedia.org/wiki/E.164
echo $parsedPhone->format(Format::E164);

// А еще есть парсинг коротких номеров
echo Parser::getInstance()->parse('911')->format(); //9-11