JSFiddle - React, Tailwind, and code Playground

by Jon Lambell

JavaScript

function isValidCC(ccNum) {
  var reversedCCNumArr = ccNum.toString().split("").reverse(),
    a = 0,
    b = 0;

  reversedCCNumArr.forEach(function(numberStr) {
    var digit = parseInt(numberStr, 10);

    if (!(digit % 2)) {
      a = a + digit;
    } else {
      var tmpB = digit * 2;

      b = b + (tmpB > 9 ? doubleDigitSum(tmpB) : tmpB);
    }
  });

  return !((a + b) % 10);
}

function doubleDigitSum(digit) {
  var digitStr = digit.toString();

  return parseInt(digitStr[0]) + parseInt(digitStr[1])
}

console.log(isValidCC(5555555555554444));