PHP: ean_validator(PHP >= 4) Mit dieser PHP Funktion kann eine EAN (EAN-8, EAN-13) Nummer auf Gültigkeit geprüft werden. Dazu wird die Prüfziffer an der letzten Stelle überprüft. Beschreibungboolean ean_validator (string EanString) Überprüft die mitgegebene EAN Nummer EanString auf gültigkeit. Die Funktion gibt TRUE zurück, falls die letzte Stelle der EAN Nummer die korrekte Prüfziffer enthällt, ansonsten FALSE. Weitere Informationen zu EAN-Nummern: http://de.wikipedia.org/wiki/European_Article_Number. Source Codefunction ean_validator ($EanString)
{
$Length = strlen ($EanString);
if ($Length > 1)
{
$CheckSum = 0;
for ($i = $Length - 2; $i >= 0; $i -= 2)
$CheckSum += ord ($EanString[$i]) - 48; // 48 = 0x30 = '0'
$CheckSum *= 3;
for ($i = $Length - 3; $i >= 0; $i -= 2)
$CheckSum += ord ($EanString[$i]) - 48;
$CheckSum = abs ((10 - ($CheckSum % 10)) % 10);
if ($CheckSum == ord ($EanString[$Length - 1]) - 48)
return true;
else
return false;
}
else
return false;
}
Beispielecho "5449000096241: ",(ean_validator ('5449000096241') == true ? 'true' : 'false');
echo "\n5449000096242: ",(ean_validator ('5449000096242') == true ? 'true' : 'false');
echo "\n40267708: ",(ean_validator ('40267708') == true ? 'true' : 'false');
echo "\n40267707: ",(ean_validator ('40267707') == true ? 'true' : 'false');
Ausgabe: 5449000096241: true 5449000096242: false 40267708: true 40267707: false Quelle: Entwurf und Umsetzung Frank Olschewski. 03/25/08 |