Skip to content
With a given country and phone number, validate and format the MOBILE phone number to E.164 standard
Go
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore Add: gitignore Apr 19, 2017
LICENSE
README.md
iso3166.go
phonenumber.go
phonenumber_test.go

README.md

phonenumber

Description

golang port of node-phone

phonenumber is used to normalize the mobile phone or land line number into a E.164 format.

The common problem is user normally input the phone number in this way:

09061354467 or
090-6135-4467 or
(090) 6135-4467 or
8109061354467 or
+8109061354467 or
81(090) 6135-4467 or
+81(090) 6135-4467 or ...

What we want is always:

819061354467

Installation

Run the following command to install the package:

go get github.com/dongri/phonenumber

Usage

Clearing format

In this case land line numbers will be an invalid result:

import "github.com/dongri/phonenumber"

number := phonenumber.Parse("090-6135-4467", "JP")
fmt.Println(number)
// Output: 9061354467

In this case you can format numbers included land line numbers:

import "github.com/dongri/phonenumber"

number := phonenumber.ParseWithLandLine("+371 65 552-336", "LV")
fmt.Println(number)
// Output: 37165552336

Get country for number

import "github.com/dongri/phonenumber"

// Get country with mobile and land line numbers
// Let's try to get country for Latvian land line number
includeLandLine := true
country := phonenumber.GetISO3166ByNumber("37165552336", includeLandLine)
fmt.Println(country.CountryName)
// Output: Latvia

// Get country with mobile numbers only
includeLandLine = false
country := phonenumber.GetISO3166ByNumber("37165552336", includeLandLine)
fmt.Println(country.CountryName)
// Output:

License

MIT

You can’t perform that action at this time.