A PHP class for checking EAN8, EAN13, UPC and GTIN barcodes are valid (based on check digit).
https://packagist.org/packages/cedcommerce/validator
Note: This project currently does nothing other than have some validation functions. I expect to add additional functionality in the future.
composer require cedcommerce/validator
// Class instantation
$barcode = '5060411950139';
$validator = new \Ced\Validator\Barcode();
$validator->setBarcode($barcode);
// Check barcode is in valid format
if ($validator->isValid()) {
echo 'Valid :)';
} else {
echo 'Invalid :(';
}
// Get the barcode type
echo 'Barcode is in format of ' . $validator->getType();
// Possible formats returned are:
// (string) "GTIN" which equals constant \Ced\Validator\Barcode::TYPE_GTIN
// (string) "EAN-8" which equals constant \Ced\Validator\Barcode::TYPE_EAN_8
// (string) "EAN" which equals constant \Ced\Validator\Barcode::TYPE_EAN
// (string) "EAN Restricted" which equals constant \Ced\Validator\Barcode::TYPE_EAN_RESTRICTED
// (string) "UPC" which equals constant \Ced\Validator\Barcode::TYPE_UPC
// (string) "UPC Coupon Code" which equals constant \Ced\Validator\Barcode::TYPE_UPC_COUPON_CODE
// Returns the barcode in GTIN-14 format
$validator->getGTIN14()
// Returns the barcode as entered
$validator->getBarcode()
- Barcode generation
- GS1-128 barcode generation and interpretation
- The original package was created by Luke Cousins.
- The barcode validation function was based on work by Ferry Bouwhuis.
- EAN Restricted format added from the hassel-it/php-barcodes fork.
- Initial unit tests based on work in the hassel-it/php-barcodes fork.