Convalida dei numeri di carta di credito — algoritmo di Luhn e riconoscimento del circuito

Inserendo il numero di una carta di credito, ne verifica la cifra di controllo con l'algoritmo di Luhn e ne riconosce automaticamente il circuito: Visa, Mastercard, American Express e gli altri. Comodo anche per collaudare la convalida dei moduli.

[[ labels.client_side_note ]]

[[ labels.format_error ]]
[[ labels.sample_label ]]:
[[ labels.no_input ]]

[[ labels.result_label ]]

[[ labels.formatted_label ]] [[ result.formatted ]]
[[ labels.brand_label ]] [[ brandName ]] [[ labels.brand_unknown ]]
[[ labels.checksum_label ]] ✓ [[ labels.checksum_valid ]] ✗ [[ labels.checksum_invalid ]]

Circuiti previsti e criteri di riconoscimento (prefisso e numero di cifre)

Circuito Cifre iniziali (prefisso dell'emittente) Numero di cifre
Visa 4 13, 16, 19
Mastercard 51–55, 2221–2720 16
American Express 34, 37 15
Discover 6011, 65 16
JCB 3528–3589 16
Diners Club 300–305, 36, 38 14
UnionPay 62 16–19

Consigli per l'uso

  • Provate il funzionamento con i numeri di prova offerti dal pulsante degli esempi, come 4111 1111 1111 1111 per Visa, anziché con numeri di carte reali.
  • Spazi e trattini sono rimossi automaticamente prima della verifica: potete quindi incollare senz'altro un numero copiato altrove.
  • La verifica di questo strumento riguarda soltanto la forma, secondo l'algoritmo di Luhn. Il controllo effettivo del credito e del saldo va effettuato tramite l'interfaccia del vostro fornitore di servizi di pagamento.
  • Realizzando la convalida di un modulo, conviene preparare qui tanto i casi corretti quanto quelli errati e verificarli entrambi.

Domande frequenti

No. Lo strumento esegue soltanto un controllo formale con l'algoritmo di Luhn e non può stabilire se la carta esista, se sia stata bloccata o se abbia credito sufficiente. Per il controllo effettivo del credito occorre il sistema di autenticazione del fornitore di servizi di pagamento.

Il numero inserito non viene trasmesso ad alcun servente e ogni calcolo avviene nel JavaScript del navigatore. Se però il vostro scopo è provare il funzionamento, si raccomanda di usare i numeri di prova offerti dal pulsante degli esempi anziché numeri reali.

È un algoritmo di rilevamento degli errori ideato nel 1954 da Hans Peter Luhn presso IBM. Si raddoppia una cifra sì e una no a partire da destra e, se la somma di tutte le cifre è un multiplo di dieci, il numero è formalmente valido: si scopre così la grande maggioranza degli errori di battitura.

Dalla combinazione fra le prime cifre, cioè il prefisso dell'emittente, e il numero complessivo di cifre. Visa comincia per 4 e conta 13, 16 o 19 cifre; Mastercard comincia per un valore fra 51 e 55, oltre ad altri intervalli, e conta 16 cifre; e così via secondo regole pubbliche. Trovate il dettaglio nella tabella dei criteri di riconoscimento in fondo alla pagina.

No. Superare quel controllo significa soltanto che il numero non presenta incongruenze formali. Anche una successione casuale di cifre inesistente può superarlo, se se ne aggiusta l'ultima cifra.
Tool-kun

A proposito — Hans Peter Luhn, il padre della cifra di controllo

La cifra di controllo inserita in coda al numero di una carta di credito si verifica con un algoritmo ideato nel 1954 da Hans Peter Luhn, ingegnere di IBM. Ne ottenne il brevetto nel 1960, ma il brevetto è ormai scaduto e l'algoritmo è oggi di pubblico dominio e liberamente utilizzabile.

Il funzionamento è sorprendentemente semplice: a partire dall'estrema destra si raddoppia una cifra sì e una no e, se il risultato ha due cifre, se ne sommano le cifre, per esempio 8 per 2 fa 16 e quindi 1 più 6 uguale 7. Se la somma di tutte le cifre è divisibile per dieci, il numero è formalmente valido.

L'algoritmo non serve soltanto alle carte di credito: si applica al rilevamento degli errori di digitazione in molti altri identificativi, come il codice che individua un telefono cellulare o certi numeri di previdenza sociale. Va però ricordato che serve unicamente a scoprire gli errori di battitura e non stabilisce né se la carta esista né se abbia credito disponibile.

Le prime sei o otto cifre del numero costituiscono il prefisso dell'emittente e recano l'informazione su quale circuito internazionale e quale banca abbiano emesso la carta. Anche il riconoscimento del circuito offerto da questo strumento si fonda sugli intervalli di quel prefisso.