Skip to content

Instantly share code, notes, and snippets.

@cbrannen9a
Created November 8, 2018 12:20
Show Gist options
  • Save cbrannen9a/b92dbb0e26ba86dac3284be21296e5e0 to your computer and use it in GitHub Desktop.
Save cbrannen9a/b92dbb0e26ba86dac3284be21296e5e0 to your computer and use it in GitHub Desktop.
Partial demo of credit card check using Regex and luhnCheck methods
const validateCardNumber = (number) => {
var regex = new RegExp("^[0-9]{16}$");
if (!regex.test(number)) { return false; }
return luhnCheck(number);
}
const luhnCheck = (val) => {
var sum = 0;
for (var i = 0; i < val.length; i++) {
var intVal = parseInt(val.substr(i, 1));
if (i % 2 === 0) {
intVal *= 2;
if (intVal > 9) {
intVal = 1 + (intVal % 10);
}
}
sum += intVal;
}
return (sum % 10) === 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment