JavaScript: come validare il numero di una carta di credito usando l'algoritmo di Luhn

La validazione preliminare delle carte di credito in JavaScript richiede l'implementazione dell'algoritmo di Luhn.

La soluzione รจ la seguente:


'use strict';

const isValidCreditCard = identifier => {

    let sum     = 0,
        alt     = false,
        i       = identifier.length - 1,
        num;

    if(identifier.length === 0) {
        return false;
    }    

    if (identifier.length < 13 || identifier.length > 19) {
        return false;
    }

    while (i >= 0) {

        
        num = parseInt(identifier.charAt(i), 10);

        
        if (isNaN(num)) {
            return false;
        }

        
        if (alt) {
            num *= 2;
            if (num > 9) {
                num = (num % 10) + 1;
            }
        } 

        
        alt = !alt;

        
        sum += num;

        
        i--;
    }

   
    return (sum % 10 === 0);
}

Torna su