2.17. Weryfikacja sumy kontrolnej w numerze karty kredytowej
Problem
W aplikacji wykorzystującej numery kart kredytowych należy wprowadzić elementarną weryfikację poprawności wprowadzonego numeru.
Rozwiązanie
Ostatnia cyfra numeru każdej karty kredytowej jest cyfrą kontrolną, zależną od pozostałych cyfr. Wyliczając wartość tej cyfry i porównując wynik ze stanem faktycznym, możemy wykryć niektóre błędy powstałe na etapie wprowadzania numeru.
Algorytm obliczania wspomnianej cyfry kontrolnej zaimplementowany został w bibliotece CreditCard
autorstwa Lucasa Carlsona, dostępnej w postaci gemu creditcard
. W implementacji tej do klas String
i Integer
dodana została metoda creditcard
badająca wewnętrzną spójność numeru:
require 'rubygems' require ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.