Skip to content

Instantly share code, notes, and snippets.

@stdclass
Created December 12, 2011 18:33
Show Gist options
  • Save stdclass/1468477 to your computer and use it in GitHub Desktop.
Save stdclass/1468477 to your computer and use it in GitHub Desktop.
Make this better - phillipdornauer
// taken from http://www.dreamincode.net/code/snippet154.htm
//
// Find the weaknesses, and clean up the code.
// Find at least 3 things you can make better!
//
// Test numbers (return true):
// 4111111111111111
// 378282246310005
// 5555555555554444
function isCreditCard( CC ) {
if (CC.length > 19)
return false;
var sum = 0
, mul = 1
, len = CC.length
, i
, digit
, tproduct;
for (i = 0; i < len; i++)
{
digit = CC.substring(len - i - 1, len - i);
tproduct = parseInt(digit ,10) * mul;
if (tproduct >= 10)
sum += (tproduct % 10) + 1;
else
sum += tproduct;
mul += mul == 1 ? 1 : -1
}
return ((sum % 10) == 0);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment