Come posso validare il numero di una carta di credito con JavaScript?

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

La soluzione รจ la seguente:


function isValidCard( identifier ) {

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

    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