Пакет Laravel-Phone упрощает работу с телефонными номерами в PHP и Laravel, предлагая правила валидации, приведение атрибутов, вспомогательные функции и многое другое.
Вы когда-нибудь создавали валидацию для телефонных номеров, поддерживающих несколько стран? В этот пакет встроены полезные правила валидации, которые позволяют легко проверять номера для любой страны. Вы можете указать приемлемые форматы кодов стран, но в то же время принять действительные "международные" номера:
// Validate either USA or Belguim
Validator::make($request->all(), [
'phone_number' => 'phone:US,BE',
]);
// Validate US specifically, but also accept other countries
Validator::make($request->all(), [
'phone_number' => 'phone:US,INTERNATIONAL',
]);
// Use the Phone rule
Validator::make($request->all(), [
'phone_number' => (new Phone)->country(['US', 'BE']),
]);
// Match country code against another data field
Validator::make($request->all(), [
'phone_number' => (new Phone)->countryField('custom_country_field'),
'custom_country_field' => 'required_with:phone_number',
]);
Этот пакет использует PHP-порт библиотеки обработки телефонных номеров Google под капотом, которая имеет надежные возможности парсинга, форматирования и проверки для работы с телефонными номерами на PHP:
// Formatting examples
$phone = new PhoneNumber('012/34.56.78', 'BE');
$phone->format($format); // Custom formatting
$phone->formatE164(); // +3212345678
$phone->formatInternational(); // +32 12 34 56 78
$phone->formatRFC3966(); // +32-12-34-56-78
$phone->formatNational(); // 012 34 56 78
Вы можете узнать больше об этом пакете, получить полную инструкцию по установке, и просмотрите исходный код на GitHub. Я рекомендую начать с readme для получения полной документации по этому пакету.