pub struct NumberFormat {
pub pattern: String,
pub format: String,
pub leading_digits_pattern: Vec<String>,
pub national_prefix_formatting_rule: Option<String>,
pub national_prefix_optional_when_formatting: Option<bool>,
pub domestic_carrier_code_formatting_rule: Option<String>,
}Fields§
§pattern: StringThis field is shadowed by the wrapper and is intentionally left empty. Access the underlying data via .original.
pattern is a regex that is used to match the national (significant) number. For example, the pattern “(20)(\d{4})(\d{4})” will match number “2070313000”, which is the national (significant) number for Google London. Note the presence of the parentheses, which are capturing groups what specifies the grouping of numbers.
format: Stringformat specifies how the national (significant) number matched by pattern should be formatted. Using the same example as above, format could contain “$1 $2 $3”, meaning that the number should be formatted as “20 7031 3000”. Each $x are replaced by the numbers captured by group x in the regex specified by pattern.
leading_digits_pattern: Vec<String>This field is shadowed by the wrapper and is intentionally left empty. Access the underlying data via .original.
This field is a regex that is used to match a certain number of digits at the beginning of the national (significant) number. When the match is successful, the accompanying pattern and format should be used to format this number. For example, if leading_digits=“[1-3]|44”, then all the national numbers starting with 1, 2, 3 or 44 should be formatted using the accompanying pattern and format.
The first leadingDigitsPattern matches up to the first three digits of the national (significant) number; the next one matches the first four digits, then the first five and so on, until the leadingDigitsPattern can uniquely identify one pattern and format to be used to format the number.
In the case when only one formatting pattern exists, no leading_digits_pattern is needed.
national_prefix_formatting_rule: Option<String>This field specifies how the national prefix ($NP) together with the first group ($FG) in the national significant number should be formatted in the NATIONAL format when a national prefix exists for a certain country. For example, when this field contains “($NP$FG)”, a number from Beijing, China (whose $NP = 0), which would by default be formatted without national prefix as 10 1234 5678 in NATIONAL format, will instead be formatted as (010) 1234 5678; to format it as (0)10 1234 5678, the field would contain “($NP)$FG”. Note $FG should always be present in this field, but $NP can be omitted. For example, having “$FG” could indicate the number should be formatted in NATIONAL format without the national prefix. This is commonly used to override the rule specified for the territory in the XML file.
When this field is missing, a number will be formatted without national prefix in NATIONAL format. This field does not affect how a number is formatted in other formats, such as INTERNATIONAL.
national_prefix_optional_when_formatting: Option<bool>This field specifies whether the $NP can be omitted when formatting a number in national format, even though it usually wouldn’t be. For example, a UK number would be formatted by our library as 020 XXXX XXXX. If we have commonly seen this number written by people without the leading 0, for example as (20) XXXX XXXX, this field would be set to true. This will be inherited from the value set for the territory in the XML file, unless a national_prefix_optional_when_formatting is defined specifically for this NumberFormat.
domestic_carrier_code_formatting_rule: Option<String>This field specifies how any carrier code ($CC) together with the first group ($FG) in the national significant number should be formatted when formatWithCarrierCode is called, if carrier codes are used for a certain country.
Implementations§
Source§impl NumberFormat
impl NumberFormat
Sourcepub fn national_prefix_formatting_rule(&self) -> &str
pub fn national_prefix_formatting_rule(&self) -> &str
Returns the value of national_prefix_formatting_rule, or the default value if national_prefix_formatting_rule is unset.
Sourcepub fn domestic_carrier_code_formatting_rule(&self) -> &str
pub fn domestic_carrier_code_formatting_rule(&self) -> &str
Returns the value of domestic_carrier_code_formatting_rule, or the default value if domestic_carrier_code_formatting_rule is unset.
Sourcepub fn national_prefix_optional_when_formatting(&self) -> bool
pub fn national_prefix_optional_when_formatting(&self) -> bool
Returns the value of national_prefix_optional_when_formatting, or the default value if national_prefix_optional_when_formatting is unset.
Trait Implementations§
Source§impl Clone for NumberFormat
impl Clone for NumberFormat
Source§fn clone(&self) -> NumberFormat
fn clone(&self) -> NumberFormat
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for NumberFormat
impl Debug for NumberFormat
Source§impl Default for NumberFormat
impl Default for NumberFormat
Source§impl Hash for NumberFormat
impl Hash for NumberFormat
Source§impl Message for NumberFormat
impl Message for NumberFormat
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.Source§impl PartialEq for NumberFormat
impl PartialEq for NumberFormat
Source§fn eq(&self, other: &NumberFormat) -> bool
fn eq(&self, other: &NumberFormat) -> bool
self and other values to be equal, and is used by ==.