golang port of Google's libphonenumber
This is a clone of the libphonenumber repository with some minor adjustments:
- Go module support
- Remove the github.com/ttacon/builder dependency by bundling it as subfolder
- Update metadata
This library is fully stable and is used in production by several companies.
Super simple to use.
num, err := libphonenumber.Parse("6502530000", "US")
// num is a *libphonenumber.PhoneNumber
formattedNum := libphonenumber.Format(num, libphonenumber.NATIONAL)
// Parse the number.
num, err := libphonenumber.Parse("1234567890", "US")
if err != nil {
// Handle error appropriately.
}
// Get the cleaned number and the length of the area code.
natSigNumber := libphonenumber.GetNationalSignificantNumber(num)
geoCodeLength := libphonenumber.GetLengthOfGeographicalAreaCode(num)
// Extract the area code.
areaCode := ""
if geoCodeLength > 0 {
areaCode = natSigNumber[0:geoCodeLength]
}
fmt.Println(areaCode)