Skip to content

personnummer/elixir

master
Switch branches/tags
Code
This branch is 11 commits ahead, 9 commits behind bombsimon:master.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
 
 
 
 
 
 
 
 

Personnummer

Validate Swedish personal identity numbers with Elixir.

Usage

Just validation

iex(1)> Personnummer.valid?("19900101-0017")
true

Validation and additional information

iex(1)> {:ok, pnr} = Personnummer.new("19900101-0017")
{:ok,
 %Personnummer{
   control: 7,
   coordination: false,
   date: ~D[1990-01-01],
   separator: "-",
   serial: 1
 }}
iex(2)> Personnummer.valid?(pnr)
true
iex(3)> gender = if Personnummer.is_female?(pnr) do "female" else "male" end
"male"
iex(4)> IO.puts "The person with personal identity number #{Personnummer.format(pnr)} is a #{gender} of age #{Personnummer.get_age(pnr)}"
The person with personal identity number 900101-0017 is a male of age 30
:ok

Installation

If available in Hex, the package can be installed by adding personnummer to your list of dependencies in mix.exs:

def deps do
  [
    {:personnummer, "~> 3.0.0"}
  ]
end

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/personnummer.

Testing

Use mix test to run doctests and unit tests.

Sponsor this project

Packages

No packages published

Languages

  • Elixir 100.0%