如何使用luhn正确验证信用卡号

时间:2019-07-16 15:07:08

标签: javascript luhn

我应该执行以下操作:在validateCardNumber函数上方创建一个validateWithLuhn函数。它应该采用digits参数,该参数将信用卡号表示为16个整数的数组。根据数字是否有效(包括大于或小于16位数字或数字和无效字符的混合),应返回true或false。

到目前为止,粘贴的代码是我现在所拥有的,但是我得到了一个错误,说您的“ validateWithLuhn”功能未正确验证指定的卡号。请参阅说明。

const validateWithLuhn = (digits) => {
    let num = digits;
    let    numChar = 0;
    let    total = 0;
    if (/[^0-9-\s]+/.test(num)) {
      return false;
    }
    num = num.split("").map(Number);
    for (c = num.length -1; c >= 0; c--) {
      numChar = num.charAt(c);
      numChar *= 2;
      if (numChar > 9){
        numChar -= 9;
      }
      total += numChar; 
    }
    if(total % 10 == 0){
      return true;
    }
    else{
      return false;
    }
  }

0 个答案:

没有答案