Skip to content

bombsimon/elixir-personnummer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Documentation

Documentation can be found at bombsimon.github.io/elixir-personnummer. To generate new documentation, run

mix docs -f html -o docs

About

🔢 Validate Swedish personal identity numbers

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages