JSFiddle - React, Tailwind, and code Playground
by shivaay123
JavaScript
const validCardNumber = numb => {
const regex = new RegExp("^[0-9]{13,19}$");
if (!regex.test(numb)) {
return false;
}
return luhnck(numb);
}
const luhnck = val => {
let validsum = 0;
let k = 1;
for (let l = val.length - 1; l >= 0; l--) {
let calck = 0;
calck = Number(val.charAt(l)) * k;
if (calck > 9) {
validsum = validsum + 1;
calck = calck - 10;
}
validsum = validsum + calck;
if (k == 1) {
k = 2;
} else {
k = 1;
}
}
return (validsum % 10) == 0;
}
console.log(validCardNumber("0987654321456012"));