Skip to content

Instantly share code, notes, and snippets.

@byrichardpowell
Created June 28, 2012 16:53
Show Gist options
  • Save byrichardpowell/3012468 to your computer and use it in GitHub Desktop.
Save byrichardpowell/3012468 to your computer and use it in GitHub Desktop.
is Credit Card
// 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) {
var sum = 0,
mul = 1,
l = CC.length;
if ( l > 19 ) {
return false;
}
for ( i = 0; i < l; i++ ) {
digit = CC.substring( (l - i) - 1, l - i);
tproduct = parseInt(digit, 10) * mul;
if (tproduct >= 10) {
sum += (tproduct % 10) + 1;
} else {
sum += tproduct;
}
if (mul == 1) {
mul++;
} else {
mul--;
}
}
return ( (sum % 10) == 0 );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment