Руководство
Телефонные коды стран: валидация и форматирование
Освойте стандарт ITU-T E.164 для работы с телефонными номерами. Изучите валидацию номеров, форматирование для разных стран и интеграцию с SMS/голосовыми API сервисов как Twilio и SMS.ru.
Pavel Volkov
30 августа 2025 г.
1 мин чтения
# Телефонные коды стран: Полное руководство для разработчиков телекоммуникационных систем
Телефонные коды стран являются основой для международных телекоммуникаций и систем верификации пользователей. Это исчерпывающее руководство охватывает все, что нужно знать разработчикам для внедрения валидации и обработки телефонных номеров в современных приложениях.
## Понимание международной системы набора номера
Телефонные коды стран соответствуют международному стандарту ITU-T E.164:
- **Код страны**: 1-3 цифры (например, +7 для России, +1 для США/Канады)
- **Национальный номер**: До 15 цифр всего включая код страны
- **Формат**: +[Код страны] [Национальный номер]
## Реализация валидации телефонных номеров
### PHP библиотека валидации
```php
use libphonenumber\PhoneNumberUtil;
use libphonenumber\PhoneNumberFormat;
class PhoneNumberValidator
{
private PhoneNumberUtil $phoneUtil;
private array $supportedRegions;
public function __construct()
{
$this->phoneUtil = PhoneNumberUtil::getInstance();
$this->supportedRegions = $this->phoneUtil->getSupportedRegions();
}
public function validateAndFormat(string $phoneNumber, string $region = null): PhoneValidationResult
{
try {
$parsedNumber = $this->phoneUtil->parse($phoneNumber, $region);
$isValid = $this->phoneUtil->isValidNumber($parsedNumber);
$isPossible = $this->phoneUtil->isPossibleNumber($parsedNumber);
return new PhoneValidationResult([
"is_valid" => $isValid,
"is_possible" => $isPossible,
"country_code" => $parsedNumber->getCountryCode(),
"formatted" => [
"international" => $this->phoneUtil->format($parsedNumber, PhoneNumberFormat::INTERNATIONAL),
"e164" => $this->phoneUtil->format($parsedNumber, PhoneNumberFormat::E164)
]
]);
} catch (Exception $e) {
return new PhoneValidationResult([
"is_valid" => false,
"error" => $e->getMessage()
]);
}
}
}
```
Это исчерпывающее руководство обеспечивает основу для реализации функциональности телефонных кодов стран в современных приложениях, охватывая валидацию, SMS верификацию, интеграцию операторов и тестирование - важные аспекты для телекоммуникационных функций.
Последнее обновление: 31 августа 2025 г.