marvinlabs / laravel-luhn
Luhn算法的Laravel版本
v1.0.12
2024-04-17 08:30 UTC
Requires
- php: >=7.1
- illuminate/support: ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- mockery/mockery: >=0.9
- orchestra/testbench: ^3.6|^4.0|^5.0|^6.0|^7.0|^8.0|^9.0
- phpunit/phpunit: ^7.0|^8.0|^9.0|^10.5
README
marvinlabs/laravel-luhn
是一个laravel包,提供了各种Laravel工具来使用Luhn算法,例如:
- 一些验证规则
- 依赖注入
- 门面
Luhn算法被广泛用于验证数字的有效性:信用卡号码、SIREN公司代码等。
安装
您可以通过composer安装此包
composer require marvinlabs/laravel-luhn
如果您使用的是Laravel 5.5,服务提供者和门面将自动被发现。
在较早的版本上,您需要手动执行此操作。您必须安装服务提供者
// config/app.php 'providers' => [ ... MarvinLabs\Luhn\LuhnServiceProvider::class ];
并且可以选择为门面注册别名。
// config/app.php 'aliases' => [ ... 'Luhn' => MarvinLabs\Luhn\Facades\Luhn::class, ];
使用
算法实现
该包提供了一个实现,该实现符合在 \MarvinLabs\Luhn\Contracts\LuhnAlgorithm
中定义的算法接口。
该合同提供了3个公共方法来
- 检查输入字符串是否根据Luhn算法有效
- 计算需要附加到字符串的校验位,使其有效
- 根据Luhn算法计算校验和
门面
提供了一个门面来访问Luhn算法实现。
Luhn::isValid('1234'); Luhn::computeCheckDigit('1234'); Luhn::computeCheckSum('1234');
依赖注入
您可以使用Laravel容器在任何时候获取Luhn算法的实现。
$luhn = app(\MarvinLabs\Luhn\Contracts\LuhnAlgorithm::class); // Using the interface $luhn = app('luhn'); // This shortcut works too, up to you ;)
验证
该包提供了自定义规则来验证字符串。
$validator = Validator::make($data, [ 'number1' => 'luhn', // Using shorthand notation 'number2' => new LuhnRule(), // Using custom rule class ]);
版本历史
请参阅专门的变更日志
致谢
- 从nekman/luhn-algorithm获得了一些想法
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件