bankster v0.2.0 Bankster.Iban

Provides some IBAN related functions.

Summary

Functions

Formats and returns a given IBAN in pretty format

Formats and returns a given IBAN in pretty format

Formats and returns a given IBAN in compact format

Formats and returns a given IBAN in pretty format

Formats and returns a given IBAN in pretty format

Validates a string whether it’s a valid IBAN and returns a boolen value

Validates a string whether it’s a valid IBAN an returns an error tuple on invalid data

Functions

bban(iban)

Specs

bban(String.t) :: String.t

Formats and returns a given IBAN in pretty format.

Examples

iex> Bankster.Iban.bban("DK8387188644726815")
"83"
country_code(iban)

Specs

country_code(String.t) :: String.t

Formats and returns a given IBAN in pretty format.

Examples

iex> Bankster.Iban.country_code("DK8387188644726815")
"DK"
format_compact(iban)

Specs

format_compact(String.t) :: String.t

Formats and returns a given IBAN in compact format.

Examples

iex> Bankster.Iban.format_compact("DK8     38 7188 64472     6815   ")
{:ok, "DK8387188644726815"}
format_pretty(iban)

Specs

format_pretty(String.t) :: String.t

Formats and returns a given IBAN in pretty format.

Examples

iex> Bankster.Iban.format_pretty("DK8387188644726815")
"DK838 7188 64472 6815"
size(iban)

Specs

size(String.t) :: Integer.t

Formats and returns a given IBAN in pretty format.

Examples

iex> Bankster.Iban.size("DK 8387   188644     726815")
18
valid?(iban)

Specs

valid?(String.t) :: boolean

Validates a string whether it’s a valid IBAN and returns a boolen value.

Examples

iex> Bankster.Iban.valid?("INVALIDIBAN")
false

iex> Bankster.Iban.valid?("DK8387188644726815")
true
validate(iban)

Specs

validate(String.t) ::
  {:ok, String.t} |
  {:error, Atom.t}

Validates a string whether it’s a valid IBAN an returns an error tuple on invalid data.

Examples

iex> Bankster.Iban.validate("INVALIDIBAN")
{:error, :invalid_country}

iex> Bankster.Iban.validate("DK838718234242342348644726815")
{:error, :invalid_length}

iex> Bankster.Iban.validate("DK8387188644726815")
{:ok, "DK8387188644726815"}