Reference documentation and code samples for the Google API Common Protos Client class PhoneNumber.
An object representing a phone number, suitable as an API wire format.
This representation:
should not be used for locale-specific formatting of a phone number, such
as "+1 (650) 253-0000 ext. 123"
is not designed for efficient storage
may not be suitable for dialing - specialized libraries (see references)
should be used to parse the number for that purpose
To do something meaningful with this number, such as format it for various
use-cases, convert it to ani18n.phonenumbers.PhoneNumberobject first.
For instance, in Java this would be:
com.google.type.PhoneNumber wireProto =
com.google.type.PhoneNumber.newBuilder().build();
com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber =
PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), "ZZ");
if (!wireProto.getExtension().isEmpty()) {
phoneNumber.setExtension(wireProto.getExtension());
}
Reference(s):
Generated from protobuf messagegoogle.type.PhoneNumber
Namespace
Google \ Type
Methods
__construct
Constructor.
Parameters
Name
Description
data
array
Optional. Data for populating the Message object.
↳ e164_number
string
The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting, e.g.: - correct: "+15552220123" - incorrect: "+1 (555) 222-01234 x123". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: -https://www.itu.int/rec/T-REC-E.164-201011-I-https://en.wikipedia.org/wiki/E.164. -https://en.wikipedia.org/wiki/List_of_country_calling_codes
The phone number's extension. The extension is not standardized in ITU recommendations, except for being defined as a series of numbers with a maximum length of 40 digits. Other than digits, some other dialing characters such as ',' (indicating a wait) or '#' may be stored here. Note that no regions currently use extensions with short codes, so this field is normally only set in conjunction with an E.164 number. It is held separately from the E.164 number to allow for short code extensions in the future.
getE164Number
The phone number, represented as a leading plus sign ('+'), followed by a
phone number that uses a relaxed ITU E.164 format consisting of the
country calling code (1 to 3 digits) and the subscriber number, with no
additional spaces or formatting, e.g.:
correct: "+15552220123"
incorrect: "+1 (555) 222-01234 x123".
The ITU E.164 format limits the latter to 12 digits, but in practice not
all countries respect that, so we relax that restriction here.
National-only numbers are not allowed.
References:
The phone number, represented as a leading plus sign ('+'), followed by a
phone number that uses a relaxed ITU E.164 format consisting of the
country calling code (1 to 3 digits) and the subscriber number, with no
additional spaces or formatting, e.g.:
correct: "+15552220123"
incorrect: "+1 (555) 222-01234 x123".
The ITU E.164 format limits the latter to 12 digits, but in practice not
all countries respect that, so we relax that restriction here.
National-only numbers are not allowed.
References:
The phone number's extension. The extension is not standardized in ITU
recommendations, except for being defined as a series of numbers with a
maximum length of 40 digits. Other than digits, some other dialing
characters such as ',' (indicating a wait) or '#' may be stored here.
Note that no regions currently use extensions with short codes, so this
field is normally only set in conjunction with an E.164 number. It is held
separately from the E.164 number to allow for short code extensions in the
future.
Returns
Type
Description
string
setExtension
The phone number's extension. The extension is not standardized in ITU
recommendations, except for being defined as a series of numbers with a
maximum length of 40 digits. Other than digits, some other dialing
characters such as ',' (indicating a wait) or '#' may be stored here.
Note that no regions currently use extensions with short codes, so this
field is normally only set in conjunction with an E.164 number. It is held
separately from the E.164 number to allow for short code extensions in the
future.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Google API Common Protos Client - Class PhoneNumber (4.12.3)\n\nVersion latestkeyboard_arrow_down\n\n- [4.12.3 (latest)](/php/docs/reference/common-protos/latest/Type.PhoneNumber)\n- [4.12.2](/php/docs/reference/common-protos/4.12.2/Type.PhoneNumber)\n- [4.11.0](/php/docs/reference/common-protos/4.11.0/Type.PhoneNumber)\n- [4.10.0](/php/docs/reference/common-protos/4.10.0/Type.PhoneNumber)\n- [4.9.0](/php/docs/reference/common-protos/4.9.0/Type.PhoneNumber)\n- [4.8.3](/php/docs/reference/common-protos/4.8.3/Type.PhoneNumber) \nReference documentation and code samples for the Google API Common Protos Client class PhoneNumber.\n\nAn object representing a phone number, suitable as an API wire format.\n\nThis representation:\n\n- should not be used for locale-specific formatting of a phone number, such as \"+1 (650) 253-0000 ext. 123\"\n- is not designed for efficient storage\n- may not be suitable for dialing - specialized libraries (see references) should be used to parse the number for that purpose To do something meaningful with this number, such as format it for various use-cases, convert it to an `i18n.phonenumbers.PhoneNumber` object first. For instance, in Java this would be: com.google.type.PhoneNumber wireProto = com.google.type.PhoneNumber.newBuilder().build(); com.google.i18n.phonenumbers.Phonenumber.PhoneNumber phoneNumber = PhoneNumberUtil.getInstance().parse(wireProto.getE164Number(), \"ZZ\"); if (!wireProto.getExtension().isEmpty()) { phoneNumber.setExtension(wireProto.getExtension()); } Reference(s):\n - \u003chttps://github.com/google/libphonenumber\u003e\n\nGenerated from protobuf message `google.type.PhoneNumber`\n\nNamespace\n---------\n\nGoogle \\\\ Type\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getE164Number\n\nThe phone number, represented as a leading plus sign ('+'), followed by a\nphone number that uses a relaxed ITU E.164 format consisting of the\ncountry calling code (1 to 3 digits) and the subscriber number, with no\nadditional spaces or formatting, e.g.:\n\n- correct: \"+15552220123\"\n- incorrect: \"+1 (555) 222-01234 x123\".\n\nThe ITU E.164 format limits the latter to 12 digits, but in practice not\nall countries respect that, so we relax that restriction here.\nNational-only numbers are not allowed.\nReferences:\n\n- \u003chttps://www.itu.int/rec/T-REC-E.164-201011-I\u003e\n- \u003chttps://en.wikipedia.org/wiki/E.164\u003e.\n- \u003chttps://en.wikipedia.org/wiki/List_of_country_calling_codes\u003e\n\n### hasE164Number\n\n### setE164Number\n\nThe phone number, represented as a leading plus sign ('+'), followed by a\nphone number that uses a relaxed ITU E.164 format consisting of the\ncountry calling code (1 to 3 digits) and the subscriber number, with no\nadditional spaces or formatting, e.g.:\n\n- correct: \"+15552220123\"\n- incorrect: \"+1 (555) 222-01234 x123\".\n\nThe ITU E.164 format limits the latter to 12 digits, but in practice not\nall countries respect that, so we relax that restriction here.\nNational-only numbers are not allowed.\nReferences:\n\n- \u003chttps://www.itu.int/rec/T-REC-E.164-201011-I\u003e\n- \u003chttps://en.wikipedia.org/wiki/E.164\u003e.\n- \u003chttps://en.wikipedia.org/wiki/List_of_country_calling_codes\u003e\n\n### getShortCode\n\nA short code.\n\nReference(s):\n\n- \u003chttps://en.wikipedia.org/wiki/Short_code\u003e\n\n### hasShortCode\n\n### setShortCode\n\nA short code.\n\nReference(s):\n\n- \u003chttps://en.wikipedia.org/wiki/Short_code\u003e\n\n### getExtension\n\nThe phone number's extension. The extension is not standardized in ITU\nrecommendations, except for being defined as a series of numbers with a\nmaximum length of 40 digits. Other than digits, some other dialing\ncharacters such as ',' (indicating a wait) or '#' may be stored here.\n\nNote that no regions currently use extensions with short codes, so this\nfield is normally only set in conjunction with an E.164 number. It is held\nseparately from the E.164 number to allow for short code extensions in the\nfuture.\n\n### setExtension\n\nThe phone number's extension. The extension is not standardized in ITU\nrecommendations, except for being defined as a series of numbers with a\nmaximum length of 40 digits. Other than digits, some other dialing\ncharacters such as ',' (indicating a wait) or '#' may be stored here.\n\nNote that no regions currently use extensions with short codes, so this\nfield is normally only set in conjunction with an E.164 number. It is held\nseparately from the E.164 number to allow for short code extensions in the\nfuture.\n\n### getKind"]]