TheJoey Posted October 2, 2009 Share Posted October 2, 2009 im using this form of luhns algorithm <?php /* Luhn algorithm number checker - (c) 2005-2008 - planzero.org * * This code has been released into the public domain, however please * * give credit to the original author where possible. */ function luhn_check($number) { // Strip any non-digits (useful for credit card numbers with spaces and hyphens) $number=preg_replace('/\D/', '', $number); // Set the string length and parity $number_length=strlen($number); $parity=$number_length % 2; // Loop through each digit and do the maths $total=0; for ($i=0; $i<$number_length; $i++) { $digit=$number[$i]; // Multiply alternate digits by two if ($i % 2 == $parity) { $digit*=2; // If the sum is two digits, add them together (in effect) if ($digit > 9) { $digit-=9; } } // Total up the digits $total+=$digit; } // If the total mod 10 equals 0, the number is valid return ($total % 10 == 0) ? TRUE : FALSE; } ?> Only problem is when im using it doesnt seem to be validating the input. How about would you guys go about trying to use it? if the text box were trying to use has these values name=$creditvalue Quote Link to comment https://forums.phpfreaks.com/topic/176313-luhn-algorithm-faulty/ Share on other sites More sharing options...
Zane Posted October 2, 2009 Share Posted October 2, 2009 $number=preg_replace('/\D/', '', $number); should be $number=preg_replace('/[^\D]*/', '', $number); Quote Link to comment https://forums.phpfreaks.com/topic/176313-luhn-algorithm-faulty/#findComment-929236 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.