• Время чтения ~1 мин
  • 04.03.2024

Пакет 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 для получения полной документации по этому пакету.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297