erlcard is an Erlang library that validates popular debit and credit card numbers against regular expressions and the Luhn algorithm. It also supports validation of the CVC code.
To add erlcard as a dependency in your rebar3 project, include the following in your rebar.config:
{deps, [
{erlcard, ".*", {git, "https://github.com/silviucpp/erlcard.git", "master"}}
]}.All available card types are defined in erlcard.hrl:
-define(CARD_TYPE_AMEX, amex).
-define(CARD_TYPE_DANKORT, dankort).
-define(CARD_TYPE_DINERSCLUB, dinersclub).
-define(CARD_TYPE_DISCOVER, discover).
-define(CARD_TYPE_FORBRUGSFORENINGEN, forbrugsforeningen).
-define(CARD_TYPE_JCB, jcb).
-define(CARD_TYPE_MAESTRO, maestro).
-define(CARD_TYPE_MASTERCARD, mastercard).
-define(CARD_TYPE_UNIONPAY, unionpay).
-define(CARD_TYPE_VISA, visa).
-define(CARD_TYPE_VISAELECTRON, visaelectron).{ok, <<"5500005555555559">>, mastercard} = erlcard:valid_credit_card(<<"5500005555555559">>, mastercard).{ok, <<"5500005555555559">>, mastercard} = erlcard:valid_credit_card(<<"5500005555555559">>).true = erlcard:valid_cvc(<<"123">>, visa).To execute the test suite, run the following command from the project's root directory:
make ct