jeandepaula/country-validations
Composer 安装命令:
composer require jeandepaula/country-validations
包简介
A PHP library for validating personal, corporate, banking, and vehicle data for Brazil, USA, and Canada.
README 文档
README
The Country Validations Library is a powerful PHP package designed to validate various data formats for Brazil, Canada, and the USA. The library provides easy-to-use methods for personal, corporate, banking, and vehicle data validation.
Features
Supported Countries
- Brazil: Validates CPF, CNPJ, phone numbers, bank account details, vehicle plates, and more.
- Canada: Validates SIN, phone numbers, and driver's licenses.
- USA: Validates SSN, phone numbers, passports, and driver's licenses.
Key Functionalities
- Personal data validation (e.g., CPF, SIN, SSN, email, name).
- Banking data validation (e.g., IBAN, SWIFT, bank codes).
- Vehicle data validation (e.g., plates, VIN, RENAVAM).
- Corporate data validation (e.g., CNPJ, state registration, NIRE).
- Easy configuration and modular structure.
Installation
Using Composer
composer require jeandepaula/country-validations
Requirements
- PHP 7.4 or higher
- Composer
Integration with Laravel
Service Provider Registration (Optional)
If needed, you can create a service provider to encapsulate the library.
-
Create a Service Provider
php artisan make:provider CountryValidationsServiceProvider
-
Register the Library in the Provider In the generated
CountryValidationsServiceProvider:<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use CountryValidations\CountryValidator; class CountryValidationsServiceProvider extends ServiceProvider { public function register() { $this->app->singleton('country-validator', function () { return new CountryValidator(); }); } public function boot() { // } }
-
Add the Provider in
config/app.php'providers' => [ // Other Service Providers... App\Providers\CountryValidationsServiceProvider::class, ],
-
Using the Library in Controllers
use Illuminate\Support\Facades\App; $validator = App::make('country-validator'); // Validate CPF $isValidCpf = $validator->brazil()->personal()->cpf('123.456.789-09');
Usage
General Setup
use CountryValidations\CountryValidator; $validator = new CountryValidator();
Examples
Brazil
$brazilValidator = $validator->brazil(); // Validate CPF var_dump($brazilValidator->personal()->cpf('123.456.789-09')); // Validate CNPJ var_dump($brazilValidator->company()->cnpj('12.345.678/0001-95')); // Validate Brazilian phone number var_dump($brazilValidator->personal()->phone('(11) 98765-4321')); // Validate vehicle plate var_dump($brazilValidator->vehicle()->plate('ABC1234'));
Canada
$canadaValidator = $validator->canada(); // Validate SIN var_dump($canadaValidator->personal()->sin('123-456-789')); // Validate phone number var_dump($canadaValidator->personal()->phone('(416) 555-2671'));
USA
$usaValidator = $validator->usa(); // Validate SSN var_dump($usaValidator->personal()->ssn('123-45-6789')); // Validate driver's license var_dump($usaValidator->personal()->driversLicense('A1234567', 'CA'));
Validations Available
Brazil
- Personal: CPF, RG, CNS, email, phone, birth date, full name, PIS/PASEP, CNH, voter registration.
- Company: CNPJ, corporate name, corporate phone, state registration, NIRE.
- Bank: Bank code, branch code, account number, boleto line, SWIFT, IBAN, BIN.
- Vehicle: Plate (standard and Mercosul), RENAVAM, VIN (chassis), vehicle category.
- Currency: Brazilian Real format, exchange rates, positive amounts, limits, numeric format, percentages.
Canada
- Personal: SIN, email, phone, birth date, full name, passport, driver's license (by province).
USA
- Personal: SSN, email, phone, birth date, full name, passport, driver's license (by state).
Testing
Run the tests using PHPUnit:
php vendor/bin/phpunit
License
This library is open-sourced software licensed under the MIT license.
jeandepaula/country-validations 适用场景与选型建议
jeandepaula/country-validations 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 11, 最近一次更新时间为 2025 年 01 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「validation」 「Banking」 「country」 「Ssn」 「cpf」 「cnpj」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 jeandepaula/country-validations 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 jeandepaula/country-validations 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 jeandepaula/country-validations 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Sun Country is the package that helps you to get the country name & dialing code by the country ISO 3166-1 Alpha-2 code.
List of all countries with names and ISO 3166-1 codes in all languages and data formats for Laravel
Creates an XML file for a Single Euro Payments Area (SEPA) Credit Transfer.
Country select field type.
Country Flag Emoji for PHP
Check for holidays - localeaware
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 11
- 点击次数: 27
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-01-05