Skip to content

Instantly share code, notes, and snippets.

@phaze9
Created November 10, 2011 19:30
Show Gist options
  • Save phaze9/1355885 to your computer and use it in GitHub Desktop.
Save phaze9/1355885 to your computer and use it in GitHub Desktop.
04_make_it_better.js
// 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, l = CC.length;
for (i = 0; i < l; i++)
{
digit = CC.substring(l-i-1,l-i);
tproduct = parseInt(digit ,10)*mul;
sum += tproduct >= 10 ? (tproduct % 10) + 1 : tproduct;
mul = mul == 1 ? mul + 1 : mul - 1;
}
return (sum % 10) == 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment