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

Helper classes to calculate and validate ckecksums.

License

Notifications You must be signed in to change notification settings

byrokrat/checkdigit

Repository files navigation

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');