nekman/luhn-algorithm

Luhn算法的PHP实现。用于验证信用卡号码和一些国家身份证号码。

5.0.1 2022-03-11 10:27 UTC

This package is auto-updated.

Last update: 2024-09-13 14:29:39 UTC


README

Build Status Coverage Status

这是PHP 7.4及以上版本的Luhn算法零依赖实现。Luhn算法用于验证如信用卡和国家身份证号码等事物。有关算法的更多信息,请参阅维基百科

安装

使用Composer安装

composer require nekman/luhn-algorithm

使用方法

为了实例化库的新实例,请使用工厂

use Nekman\LuhnAlgorithm\LuhnAlgorithmFactory;

$luhn = LuhnAlgorithmFactory::create();

您可以在LuhnAlgorithmInterface.php文件中找到库外观

Number是一个容器类,它包含实际数字和校验位。它不执行验证也不计算校验位。它的存在是为了明确将数字与校验位分开,并定义校验位是否存在。为了简化验证数字的过程,您可以像这样使用命名构造函数Number::fromString()

use Nekman\LuhnAlgorithm\Number;

// Assume $creditCard is from a form.
$number = Number::fromString($creditCard);

if ($luhn->isValid($number)) {
    // Number is valid.
}

或者,如果您想计算数字的校验和或校验位

use Nekman\LuhnAlgorithm\Number;

$number = new Number(12345);

$checksum = $luhn->calcChecksum($number);

$checkDigit = $luhn->calcCheckDigit($number);

版本控制

此项目符合语义版本控制

变更日志

要查看完整更改列表以及如何在主要版本之间迁移,请参阅发布页面