Luhn Algorithm
by hakan
HTML
<form id="credit-card-entry-form" method="POST">
<input type="text" name="credit-card-number" placeholder="Enter your credit card number here" />
<input type="submit" value="Submit" />
</form>
JavaScript
$(document).ready(function() {
$('#credit-card-entry-form').submit(function(e) {
e.preventDefault();
var creditCardNumber = $('input[name="credit-card-number"]').val();
is_luhn_valid(creditCardNumber);
});
});
/**
* Luhn Test
* https://gist.github.com/ShirtlessKirk/2134376
*/
var luhnChk = (function(arr) {
return function(ccNum) {
var
len = ccNum.length,
bit = 1,
sum = 0,
val;
while (len) {
val = parseInt(ccNum.charAt(--len), 10);
console.log(val);
if (val !== NaN)
sum += (bit ^= 1) ? arr[val] : val;
}
return sum && sum % 10 === 0;
};
}([0, 2, 4, 6, 8, 1, 3, 5, 7, 9]));
function is_luhn_valid(cardNumber) {
if (luhnChk(cardNumber) === true) {
console.log("VALID.");
} else {
console.log("Credit card number is invalid.");
}
}