Skip to content
This repository has been archived by the owner on Jan 4, 2021. It is now read-only.

Latest commit

 

History

History
49 lines (36 loc) · 1.78 KB

README.md

File metadata and controls

49 lines (36 loc) · 1.78 KB

ABANDONED! This package is discontinued and will not be updated.

Checkdigit

Packagist Version Build Status Quality Score Scrutinizer Coverage

Helper classes to calculate and validate ckecksums.

Installation

composer require byrokrat/checkdigit

Checkdigit requires the bcmath php extension.

API

The Calculator interface defines two methods:

  • isValid(string $number): bool checks if number contains a valid check digit.
  • calculateCheckDigit(string $number): string calculates the check digit for number.

Implementations include:

  • Modulo10 and Luhn for modulo 10 check digits (Luhn is simply a shorthand for Modulo10).
  • Modulo10Gtin for modulo 10 check digits variant used in GTIN barcodes.
  • Modulo11 for modulo 11 check digits.
  • Modulo97 for modulo 97 check digits.

Usage

$luhn = new byrokrat\checkdigit\Luhn;

// outputs '1' (true)
echo $luhn->isValid('55555551');

// outputs '' (false)
echo $luhn->isValid('55555550');

// outputs '1'
echo $luhn->calculateCheckDigit('5555555');