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

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