Revision: 4625
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 13, 2008 20:10 by j_junyent
Initial Code
<?php
/**
* Checks if the input string is a valid Euro note serial number.
*
* @param string $string
* @return bool
*/
function Euro($string)
{
settype($string, 'string');
if (strlen($string) != 12)
{
return false;
}
$string = str_replace(array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'), array(2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9), strtoupper($string));
$stack = 0;
for ($i = 0; $i < 12; $i++)
{
$stack += $string[$i];
}
if ($stack % 9 == 0)
{
return true;
}
return false;
}
?>
Initial URL
http://www.alixaxel.com/wordpress/2007/06/23/euro-banknote-validation-with-php/
Initial Description
Basically what this algorithm does is to replace the first letter of the serial number by a number (each letter represents where the banknote is originally from), then it calculates the sum of all digits. If the remaining of the division of that sum by 9 is 0 then your note is valid.
Initial Title
Euro banknote validation
Initial Tags
validation
Initial Language
PHP