/phone

Elixir phone number parser for numbers in international standard.

Primary LanguageElixirOtherNOASSERTION

Phone

Build Status Coverage Status || Ebert GitHub issues Inline docs || Phone version Hex.pm GitHub license

Phone number parser for telephone numbers in international standard or missing international country code, for Elixir.

Note on version 0.4.0 onward: Phone was rebuild to increase performance, that may increase compilation time but made Phone 100 times faster.

About

What is, what isnt and what will be about Phone:

  1. It isnt: * Intended to work as libphonenumber. * Prepared to format numbers. * Necessary any information about the number if in international standard.
  2. It is: * A real parser, created to extract information based only in the number. * Prepared to work with numbers not only in the international standard.
  3. It will have:
    • Area code info for every country that numbering plan has area codes.
  • Patterns:
    • Countries without area code info:

      %{
        country: "Country Name",
        a2: "Alpha-2",
        a3: "Alpha-3",
        international_code: "1",
        area_code: "yyy",
        number: "xxxxxxx"
      }
    • Countries with area code info:

      %{
        country: "Country Name",
        a2: "Alpha-2 code",
        a3: "Alpha-3 code",
        international_code: "1",
        number: "xxxxxxx",
        area_code: "yyy",
        area_name: "Area Name",
        area_type: "state",
        area_abbreviation: "AN"
      }

Area Codes

Countries that already has area code info:

  • United States.
  • Canada.
  • Brazil.

Vocabulary

  • a2: Alpha-2, two letters code for country names.
  • a3: Alpha-3, three letters code for country names.
  • NANP: North American Numbering Plan, numbering plan for countries with international code number 1.
  • Numbering Plan: The rules and specifications of how telephone numbers works in a given country.

Installation

Add to your depencies like any other hex package.

defp deps do
  [{:phone, "0.3.3"}]
end

License

Phone is under Apache v2.0 license. Check the LICENSE file for more details.