Server IP : 162.213.251.212 / Your IP : 18.190.153.90 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/www/easybuyer/vendor/fzaninotto/faker/src/Faker/Calculator/ |
Upload File : |
<?php namespace Faker\Calculator; /** * Utility class for validating EAN-8 and EAN-13 numbers * * @package Faker\Calculator */ class Ean { /** @var string EAN validation pattern */ const PATTERN = '/^(?:\d{8}|\d{13})$/'; /** * Computes the checksum of an EAN number. * * @see https://en.wikipedia.org/wiki/International_Article_Number * * @param string $digits * @return int */ public static function checksum($digits) { $length = strlen($digits); $even = 0; for ($i = $length - 1; $i >= 0; $i -= 2) { $even += $digits[$i]; } $odd = 0; for ($i = $length - 2; $i >= 0; $i -= 2) { $odd += $digits[$i]; } return (10 - ((3 * $even + $odd) % 10)) % 10; } /** * Checks whether the provided number is an EAN compliant number and that * the checksum is correct. * * @param string $ean An EAN number * @return boolean */ public static function isValid($ean) { if (!preg_match(self::PATTERN, $ean)) { return false; } return self::checksum(substr($ean, 0, -1)) === intval(substr($ean, -1)); } }