<!ELEMENT nationalNumberPattern (#PCDATA)>
<!ELEMENT possibleNumberPattern (#PCDATA)>
<!ELEMENT exampleNumber (#PCDATA)>
- <!ELEMENT numberFormat (#PCDATA)>
- <!ELEMENT intlNumberFormat (#PCDATA)>
+ <!ELEMENT numberFormat (leadingDigits*, format)>
+ <!ELEMENT intlNumberFormat (leadingDigits*, format)>
+ <!ELEMENT format (#PCDATA)>
+ <!ELEMENT leadingDigits (#PCDATA)>
<!ATTLIST territory id CDATA #REQUIRED>
<!ATTLIST territory countryCode CDATA #REQUIRED>
<!ATTLIST territory carrierCodeFormattingRule CDATA #IMPLIED>
<!ATTLIST numberFormat nationalPrefixFormattingRule CDATA #IMPLIED>
<!ATTLIST numberFormat carrierCodeFormattingRule CDATA #IMPLIED>
- <!ATTLIST numberFormat leadingDigits CDATA #IMPLIED>
<!ATTLIST numberFormat pattern CDATA #REQUIRED>
- <!ATTLIST intlNumberFormat leadingDigits CDATA #IMPLIED>
<!ATTLIST intlNumberFormat pattern CDATA #REQUIRED>
<!ATTLIST intlNumberFormat carrierCodeFormattingRule CDATA #IMPLIED>
]>
<!-- http://www.itu.int/oth/T0202000005/en -->
<territory id="AD" countryCode="376" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[346-9]" pattern="(\d{3})(\d{3})">$1 $2</numberFormat>
- <numberFormat leadingDigits="1" pattern="(180[02])(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})">
+ <leadingDigits>[346-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(180[02])(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>(?:[346-9]|180)\d{5}</nationalNumberPattern>
<territory id="AE" countryCode="971" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[2-4679][2-8]"
- pattern="([2-4679])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="5" pattern="(5[056])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[4679]0"
- pattern="([4679]00)(\d)(\d{5})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8" pattern="(800)(\d{2})(\d{0,7})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-4679])(\d{3})(\d{4})">
+ <leadingDigits>[2-4679][2-8]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(5[056])(\d{3})(\d{4})">
+ <leadingDigits>5</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([4679]00)(\d)(\d{5})">
+ <leadingDigits>[4679]0</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(800)(\d{2})(\d{0,7})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-79]\d{7,8}|800\d{2,9}</nationalNumberPattern>
<territory id="AF" countryCode="93" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([2-7]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-7]\d)(\d{3})(\d{4})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-7]\d{8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<!-- Formats mostly follow http://tirana.usembassy.gov/list_of_doctors.html -->
- <numberFormat leadingDigits="4[0-6]"
- pattern="(4)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="6"
- pattern="(6[6-9])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[2358][2-5]|4[7-9]"
- pattern="(\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[2358][16-9]"
- pattern="(\d{3})(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="800" pattern="(800)(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="9|808" pattern="(\d{3})(\d{3})">$1 $2</numberFormat>
- <numberFormat leadingDigits="7" pattern="(700)(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="(4)(\d{3})(\d{4})">
+ <leadingDigits>4[0-6]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(6[6-9])(\d{3})(\d{4})">
+ <leadingDigits>6</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
+ <leadingDigits>[2358][2-5]|4[7-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3,5})">
+ <leadingDigits>[235][16-9]|8[016-9]|[79]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-57]\d{7}|6\d{8}|8\d{5,7}|9\d{5}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000006/en -->
<territory id="AO" countryCode="244" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[29]\d{8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixForParsing="0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|47[3-578]|6(?:1|2[2-7]|4[6-8]?|5[125-8])|9(?:0[1-3]|[19]|2\d|3[1-6]|4[0-24-68]|5[2-4]|6[2-6]|72?|8[23]?))|3(?:3(?:2[79]|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\d|7[126]|8[237-9]|9[1-36-8])|5(?:1|2[1245]|3[2-4]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|7(?:1[15-8]|2[125]|3[1245]|4[13]|5[124-8]|7[2-57]|8[1-36])|8(?:1|2[125-7]|3[23578]|4[13-6]|5[4-8]?|6[1-357-9]|7[5-8]?|8[4-7]?|9[124])))15)?"
nationalPrefixTransformRule="9$1" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[68]"
- pattern="([68]\d{2})(\d{3})(\d{4})">$1-$2-$3</numberFormat>
- <intlNumberFormat leadingDigits="[68]"
- pattern="([68]\d{2})(\d{3})(\d{4})">$1-$2-$3</intlNumberFormat>
- <numberFormat leadingDigits="91" pattern="9(11)(\d{4})(\d{4})">$1 15-$2-$3</numberFormat>
- <intlNumberFormat leadingDigits="91"
- pattern="9(11)(\d{4})(\d{4})">9 $1 $2-$3</intlNumberFormat>
- <numberFormat leadingDigits="9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"
- pattern="9(\d{3})(\d{3})(\d{4})">$1 15-$2-$3</numberFormat>
- <intlNumberFormat
- leadingDigits="9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"
- pattern="9(\d{3})(\d{3})(\d{4})">9 $1 $2-$3</intlNumberFormat>
- <numberFormat
- leadingDigits="9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"
- pattern="9(\d{4})(\d{2})(\d{4})">$1 15-$2-$3</numberFormat>
- <intlNumberFormat
- leadingDigits="9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"
- pattern="9(\d{4})(\d{2})(\d{4})">9 $1 $2-$3</intlNumberFormat>
- <numberFormat leadingDigits="1" pattern="(11)(\d{4})(\d{4})">$1 $2-$3</numberFormat>
- <intlNumberFormat leadingDigits="1"
- pattern="(11)(\d{4})(\d{4})">$1 $2-$3</intlNumberFormat>
+ <numberFormat pattern="([68]\d{2})(\d{3})(\d{4})">
+ <leadingDigits>[68]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="([68]\d{2})(\d{3})(\d{4})">
+ <leadingDigits>[68]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </intlNumberFormat>
+ <numberFormat pattern="9(11)(\d{4})(\d{4})">
+ <leadingDigits>91</leadingDigits>
+ <format>$1 15-$2-$3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="9(11)(\d{4})(\d{4})">
+ <leadingDigits>91</leadingDigits>
+ <format>9 $1 $2-$3</format>
+ </intlNumberFormat>
+ <numberFormat pattern="9(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>9(?:2[2369]|3[458])</leadingDigits>
+ <leadingDigits>9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))</leadingDigits>
+ <format>$1 15-$2-$3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="9(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>9(?:2[2369]|3[458])</leadingDigits>
+ <leadingDigits>9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))</leadingDigits>
+ <format>9 $1 $2-$3</format>
+ </intlNumberFormat>
+ <numberFormat pattern="9(\d{4})(\d{2})(\d{4})">
+ <leadingDigits>9(?:2[2-469]|3[3-578])</leadingDigits>
+ <leadingDigits>9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))</leadingDigits>
+ <format>$1 15-$2-$3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="9(\d{4})(\d{2})(\d{4})">
+ <leadingDigits>9(?:2[2-469]|3[3-578])</leadingDigits>
+ <leadingDigits>9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))</leadingDigits>
+ <format>9 $1 $2-$3</format>
+ </intlNumberFormat>
+ <numberFormat pattern="(11)(\d{4})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2-$3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="(11)(\d{4})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2-$3</format>
+ </intlNumberFormat>
<!-- Some 4-digit area codes actually are caught by this
rule. I'm giving however preference to the 3-digit area
codes, since they are considerably larger
communities. -->
- <numberFormat leadingDigits="2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578])"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2-$3</numberFormat>
- <intlNumberFormat leadingDigits="2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578])"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2-$3</intlNumberFormat>
- <numberFormat leadingDigits="[23]" pattern="(\d{4})(\d{2})(\d{4})">$1 $2-$3</numberFormat>
- <intlNumberFormat leadingDigits="[23]"
- pattern="(\d{4})(\d{2})(\d{4})">$1 $2-$3</intlNumberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578])</leadingDigits>
+ <format>$1 $2-$3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578])</leadingDigits>
+ <format>$1 $2-$3</format>
+ </intlNumberFormat>
+ <numberFormat pattern="(\d{4})(\d{2})(\d{4})">
+ <leadingDigits>[23]</leadingDigits>
+ <format>$1 $2-$3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="(\d{4})(\d{2})(\d{4})">
+ <leadingDigits>[23]</leadingDigits>
+ <format>$1 $2-$3</format>
+ </intlNumberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{9,11}</nationalNumberPattern>
<territory id="AT" countryCode="43" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="1|5[079]" pattern="([15])(\d{3,12})">$1 $2</numberFormat>
- <numberFormat leadingDigits="316|46|51|732|6(?:44|5[0-3579]|[6-9])|7(?:1|[28]0)|[89]"
- pattern="(\d{3})(\d{3,10})">$1 $2</numberFormat>
- <numberFormat
- leadingDigits="2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-35-9]|5[468])|7(?:2[1-8]|35|4[1-8]|[57-9])"
- pattern="(\d{4})(\d{3,9})">$1 $2</numberFormat>
+ <numberFormat pattern="([15])(\d{3,12})">
+ <leadingDigits>1|5[079]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3,10})">
+ <leadingDigits>316|46|51|732|6(?:44|5[0-3579]|[6-9])|7(?:1|[28]0)|[89]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{4})(\d{3,9})">
+ <leadingDigits>2|3(?:1[1-578]|[3-8])|4[2378]|5[2-6]|6(?:[12]|4[1-35-9]|5[468])|7(?:2[1-8]|35|4[1-8]|[57-9])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{4,13}</nationalNumberPattern>
internationalPrefix="(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]"
nationalPrefix="0">
<availableFormats>
- <numberFormat leadingDigits="[2378]"
- nationalPrefixFormattingRule="($NP$FG)"
- pattern="([2378])(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="4"
- nationalPrefixFormattingRule="$NP$FG"
- pattern="(4\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="5"
- nationalPrefixFormattingRule="$NP$FG"
- pattern="(5[05]0)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1(?:[38]00|9)" nationalPrefixFormattingRule="$FG"
- pattern="(1[389]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="([2378])(\d{4})(\d{4})">
+ <leadingDigits>[2378]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(4\d{2})(\d{3})(\d{3})">
+ <leadingDigits>4</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(5[05]0)(\d{3})(\d{3})">
+ <leadingDigits>5</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(1[389]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>1(?:[38]0|9)</leadingDigits>
+ <leadingDigits>1(?:[38]00|9)</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Although the national plan doesn't explicitly say so, there is no evidence that a
180 xxxx number could be 180 0xxx. -->
- <numberFormat leadingDigits="180[1-9]" nationalPrefixFormattingRule="$FG"
- pattern="(180)(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="13[1-9]" nationalPrefixFormattingRule="$FG"
- pattern="(13)(\d{2})(\d{2})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(180)(\d{4})">
+ <leadingDigits>180</leadingDigits>
+ <leadingDigits>180[1-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(13)(\d{2})(\d{2})">
+ <leadingDigits>13[1-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-578]\d{5,9}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200000B/en -->
<territory id="AW" countryCode="297" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([5-9]\d{2})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="([5-9]\d{2})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[5-9]\d{6}</nationalNumberPattern>
<!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200000F0001MSWE.doc -->
<territory id="AZ" countryCode="994" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[4-8]"
- pattern="([4-8]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1[28]|22"
- pattern="([12]\d)(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1[013-79]|2[013-9]"
- pattern="([12]\d{2})(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>1[28]|22|[4-8]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([12]\d{2})(\d{5})">
+ <leadingDigits>1[013-79]|2[013-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[124-8]\d{7,8}</nationalNumberPattern>
<territory id="BA" countryCode="387" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([3-689]\d)(\d{3})(\d{3})">$1 $2-$3</numberFormat>
+ <numberFormat pattern="([3-689]\d)(\d{3})(\d{3})">
+ <format>$1 $2-$3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3-689]\d{7}</nationalNumberPattern>
preferredInternationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="2" pattern="(2)(\d{7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[3-79]1" pattern="(\d{2})(\d{4,6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[3-79][2-9]|8" pattern="(\d{3})(\d{3,7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="1" pattern="(\d{4})(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="(2)(\d{7})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4,6})">
+ <leadingDigits>[3-79]1</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3,7})">
+ <leadingDigits>[3-79][2-9]|8</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{4})(\d{6})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<!-- This is quite complex so we can define that numbers beginning with
<territory id="BE" countryCode="32" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="4[7-9]"
- pattern="(4[7-9]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="[23]|[49][23]"
- pattern="([2-49])(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="[156]|7[18]|8(?:0[1-9]|[1-79])"
- pattern="([15-8]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="(?:80|9)0"
- pattern="([89]\d{2})(\d{2})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="7[07]"
- pattern="(7[07])(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(4[7-9]\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>4[7-9]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([2-49])(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>[23]|[49][23]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([15-8]\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[156]|7[0178]|8(?:0[1-9]|[1-79])</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([89]\d{2})(\d{2})(\d{3})">
+ <leadingDigits>(?:80|9)0</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{7,8}</nationalNumberPattern>
<availableFormats>
<!-- The national numbering plan from ITU suggests grouping of 2, 2 and 4, but
we have chosen to use the standard from numbers found on the internet instead.-->
- <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2457]\d{7}</nationalNumberPattern>
<territory id="BG" countryCode="359" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="2" pattern="(2)(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="43[1-6]" pattern="(43[1-6])(\d{4,5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[35-7]|4[124-7]|8[1-6]|9[1-7]"
- pattern="(\d{2})(\d{2,3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8[7-9]|98"
- pattern="([89]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="48|90" pattern="([49]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="43[0789]|800" pattern="(\d{3})(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="(2)(\d{3})(\d{3,4})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4,5})">
+ <leadingDigits>43|800</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2,3})(\d{3})">
+ <leadingDigits>[35-7]|4[124-7]|8[1-6]|9[1-7]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>48|8[7-9]|9[08]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{6,8}</nationalNumberPattern>
<territory id="BI" countryCode="257" internationalPrefix="00">
<availableFormats>
<numberFormat
- pattern="([27]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ pattern="([27]\d)(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[27]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000017/en -->
<territory id="BJ" countryCode="229" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
<!-- Numbers beginning with 7 should be formatted as a block. -->
</availableFormats>
<generalDesc>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<!-- Format is from http://aiti.gov.bn/contact.html-->
<availableFormats>
- <numberFormat pattern="([2-578]\d{2})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="([2-578]\d{2})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-578]\d{6}</nationalNumberPattern>
a nationalTransformRule to repopulate with the number without the carrier
code.-->
<availableFormats>
- <numberFormat leadingDigits="[1-9][1-9]"
- pattern="(\d{2})(\d{4})(\d{4})"
- nationalPrefixFormattingRule="($FG)"
- carrierCodeFormattingRule="$NP $CC $FG">$1 $2-$3</numberFormat>
- <numberFormat leadingDigits="400|3003" pattern="([34]00\d)(\d{4})">$1-$2</numberFormat>
- <numberFormat leadingDigits="[3589]00" nationalPrefixFormattingRule="$NP$FG"
- pattern="([3589]00)(\d{2,3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($FG)"
+ pattern="(\d{2})(\d{4})(\d{4})"
+ carrierCodeFormattingRule="$NP $CC $FG">
+ <leadingDigits>[1-9][1-9]</leadingDigits>
+ <format>$1 $2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="([34]00\d)(\d{4})">
+ <leadingDigits>[34]00</leadingDigits>
+ <leadingDigits>400|3003</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="([3589]00)(\d{2,3})(\d{4})">
+ <leadingDigits>[3589]00</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{7,9}</nationalNumberPattern>
<!-- Bhutan -->
<!-- http://www.itu.int/oth/T0202000019/en -->
<territory id="BT" countryCode="975" internationalPrefix="00">
- <availableFormats>
- <!-- Format is from
- http://www.tourism.gov.bt/tour-operators/bhutan-abbot-tours-and-travels.html -->
- <numberFormat leadingDigits="1"
- pattern="(17)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="[2-8]"
- pattern="([2-8])(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- </availableFormats>
+ <availableFormats>
+ <!-- Format is from
+ http://www.tourism.gov.bt/tour-operators/bhutan-abbot-tours-and-travels.html -->
+ <numberFormat pattern="(17)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([2-8])(\d{3})(\d{3})">
+ <leadingDigits>[2-8]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ </availableFormats>
<generalDesc>
<nationalNumberPattern>(?:17|[2-8])\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{6,8}</possibleNumberPattern>
<!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T020200001C0001MSWE.doc -->
<territory id="BW" countryCode="267" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="7"
- pattern="(7[1-4])(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9" pattern="(90)(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="(7[1-4])(\d{3})(\d{3})">
+ <leadingDigits>7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(90)(\d{5})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{6,7}</nationalNumberPattern>
<territory id="BY" countryCode="375" internationalPrefix="8~10"
nationalPrefixForParsing="80?" nationalPrefix="8">
<availableFormats>
- <numberFormat leadingDigits="[1-4]"
- nationalPrefixFormattingRule="$NP 0$FG"
- pattern="([1-4]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[89]"
- nationalPrefixFormattingRule="$NP $FG"
- pattern="([89]\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP 0$FG"
+ pattern="([1-4]\d)(\d{3})(\d{4})">
+ <leadingDigits>[1-4]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP $FG"
+ pattern="([89]\d{2})(\d{3})(\d{4})">
+ <leadingDigits>[89]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[12-4]\d{8}|[89]\d{9}</nationalNumberPattern>
<territory id="CD" countryCode="243" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[89]"
- pattern="([89]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[1-6]"
- pattern="([1-6]\d)(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>[89]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([1-6]\d)(\d{5})">
+ <leadingDigits>[1-6]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[89]\d{8}|[1-6]\d{6}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000028/en -->
<territory id="CF" countryCode="236" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[278]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200002E/en -->
<territory id="CG" countryCode="242" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[24-68]\d{6}</nationalNumberPattern>
<territory id="CH" countryCode="41" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[2-6]|[7-9]1"
- pattern="([2-9]\d)(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="7[46-9]"
- pattern="(7[46-9])(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="8[047]|90"
- pattern="([89]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-9]\d)(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>[2-7]|[89]1</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>8[047]|90</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{8}</nationalNumberPattern>
<availableFormats>
<!-- Using format from online yellow pages over format implied in
national numbering plan. -->
- <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[02-5]\d{7}</nationalNumberPattern>
with a carrier if they are not local so we strip these carrier codes as
well. -->
<availableFormats>
- <numberFormat leadingDigits="2" pattern="(2)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[357]|4[1-35]|6[13-57]"
- pattern="(\d{2})(\d{2,3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9" pattern="(9)([6-9]\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="44" pattern="(44)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="60" nationalPrefixFormattingRule="$FG"
- pattern="(600)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="60" nationalPrefixFormattingRule="$FG"
- pattern="(600)(\d{3})(\d{2})(\d{3})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="8" nationalPrefixFormattingRule="$FG"
- pattern="(800)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1" nationalPrefixFormattingRule="$FG"
- pattern="(1230)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(2)(\d{3})(\d{4})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2,3})(\d{4})">
+ <leadingDigits>[357]|4[1-35]|6[13-57]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(9)([6-9]\d{3})(\d{4})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(44)(\d{3})(\d{4})">
+ <leadingDigits>44</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="([68]00)(\d{3})(\d{3,4})">
+ <leadingDigits>60|8</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(600)(\d{3})(\d{2})(\d{3})">
+ <leadingDigits>60</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(1230)(\d{3})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>(?:[2-9]|600|123)\d{7,8}</nationalNumberPattern>
extracted, and usually in the same format as France (all 2 digit groups)
so we use this instead of the guidance of the national numbering plan
(which has 1 3 2 2 and 4 4 as its two formatting examples.)-->
- <numberFormat leadingDigits="[2379]|88"
- pattern="([237-9]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="80"
- pattern="(800)(\d{2})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([237-9]\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[2379]|88</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(800)(\d{2})(\d{3})">
+ <leadingDigits>80</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[237-9]\d{7}</nationalNumberPattern>
<territory id="CN" countryCode="86" internationalPrefix="00"
nationalPrefix="0">
<availableFormats>
- <numberFormat leadingDigits="21" nationalPrefixFormattingRule="$NP$FG"
- pattern="(21)(\d{4})(\d{4,6})">$1 $2 $3</numberFormat>
- <!-- The leadingDigits here don't exlude 10800 numbers, as doing so would require more than
- 4 digits for leadingDigits. -->
- <numberFormat leadingDigits="10[1-9]|2[02-9]"
- nationalPrefixFormattingRule="$NP$FG"
- pattern="([12]\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="80" nationalPrefixFormattingRule="$NP$FG"
- pattern="(80\d{2})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[35-79]|[48][1-9]" nationalPrefixFormattingRule="$NP$FG"
- pattern="(\d{3})(\d{3,4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1[3-58]"
- pattern="(1[3-58]\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="40" pattern="(400)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1080" pattern="(10800)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(21)(\d{4})(\d{4,6})">
+ <leadingDigits>21</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="([12]\d)(\d{4})(\d{4})">
+ <leadingDigits>10[1-9]|2[02-9]</leadingDigits>
+ <!-- Note the leadingDigitsPattern for 4 digits is the same as 3 digits, -->
+ <leadingDigits>10[1-9]|2[02-9]</leadingDigits>
+ <leadingDigits>10(?:[1-79]|8(?:[1-9]|0[1-9]))|2[02-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(80\d{2})(\d{4})">
+ <leadingDigits>80</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(\d{3})(\d{3,4})(\d{4})">
+ <leadingDigits>[35-79]|[48][1-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(1[3-58]\d)(\d{4})(\d{4})">
+ <leadingDigits>1[3-58]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(400)(\d{3})(\d{4})">
+ <leadingDigits>40</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(10800)(\d{3})(\d{4})">
+ <leadingDigits>108</leadingDigits>
+ <leadingDigits>1080</leadingDigits>
+ <leadingDigits>10800</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-79]\d{7,11}|8[0-357-9]\d{6,9}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000030/en -->
<territory id="CR" countryCode="506" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([28]\d{3})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="([28]\d{3})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[28]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000026/en -->
<territory id="CV" countryCode="238" internationalPrefix="0">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{2})(\d{2})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2})(\d{2})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[259]\d{6}</nationalNumberPattern>
<territory id="CY" countryCode="357" internationalPrefix="00">
<availableFormats>
<!-- Format from http://www.cyprusyellowpages.com/-->
- <numberFormat pattern="([27-9]\d)(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="([27-9]\d)(\d{6})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[27-9]\d{7}</nationalNumberPattern>
<!-- http://en.wikipedia.org/wiki/%2B420 -->
<territory id="CZ" countryCode="420" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([2-9]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-9]\d{2})(\d{3})(\d{3})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{8}</nationalNumberPattern>
<territory id="DE" countryCode="49" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="3[02]|40|[68]9"
- pattern="(\d{2})(\d{4,11})">$1/$2</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4,11})">
+ <leadingDigits>3[02]|40|[68]9</leadingDigits>
+ <format>$1/$2</format>
+ </numberFormat>
<!-- The order of the rules on 3-5 digits area code matter as fallback is used here. -->
<!-- 3 digit area codes.-->
- <numberFormat leadingDigits="2(?:\d1|0[2389]|1[24]|28|34)|3[3-9][15]|340|906|[4-9][1-9]1"
- pattern="(\d{3})(\d{3,10})">$1/$2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3,10})">
+ <leadingDigits>2(?:\d1|0[2389]|1[24]|28|34)|3(?:[3-9][15]|40)|[4-8][1-9]1|9(?:06|[1-9]1)</leadingDigits>
+ <format>$1/$2</format>
+ </numberFormat>
<!-- 4 digit area codes.-->
- <numberFormat leadingDigits="[24-6]|[7-9](?:\d[1-9]|[1-9]\d)"
- pattern="([24-9]\d{3})(\d{2,8})">$1/$2</numberFormat>
- <numberFormat
- leadingDigits="3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|4[1246]|6[1-4]|7[1346]|8[13568]|9[1246])|6(?:0[356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))"
- pattern="(\d{4})(\d{2,7})">$1/$2</numberFormat>
+ <numberFormat pattern="(\d{4})(\d{2,8})">
+ <leadingDigits>[24-6]|[7-9](?:\d[1-9]|[1-9]\d)|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])</leadingDigits>
+ <leadingDigits>[24-6]|[7-9](?:\d[1-9]|[1-9]\d)|3(?:3(?:0[1-467]|2[127-9]|3[124578]|[46][1246]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|3[1357]|4[13578]|6[1246]|7[1356]|9[1346])|5(?:0[14]|2[1-3589]|3[1357]|4[1246]|6[1-4]|7[1346]|8[13568]|9[1246])|6(?:0[356]|2[1-489]|3[124-6]|4[1347]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|3[1357]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|4[1347]|6[0135-9]|7[1467]|8[136])|9(?:0[12479]|2[1358]|3[1357]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))</leadingDigits>
+ <format>$1/$2</format>
+ </numberFormat>
<!-- 5 digit area codes.-->
- <numberFormat leadingDigits="3" pattern="(\d{5})(\d{1,6})">$1/$2</numberFormat>
+ <numberFormat pattern="(\d{5})(\d{1,6})">
+ <leadingDigits>3</leadingDigits>
+ <format>$1/$2</format>
+ </numberFormat>
<!-- http://www.t-mobile.de/servicehotlines/0,13401,17660-_,00.html -->
- <numberFormat leadingDigits="1[5-7]" pattern="(1[5-7]\d)(\d{7,8})">$1 $2</numberFormat>
- <numberFormat leadingDigits="180" pattern="(180)(\d)(\d{4,10})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="700" pattern="(700)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="800" pattern="(800)(\d{7,9})">$1 $2</numberFormat>
- <numberFormat leadingDigits="900[135]"
- pattern="(900)(\d)(\d{6})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9009" pattern="(900)(9)(\d{7})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([18]\d{2})(\d{7,9})">
+ <leadingDigits>1[5-7]|800</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d)(\d{4,10})">
+ <leadingDigits>(?:18|90)0</leadingDigits>
+ <leadingDigits>180|900[1359]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(700)(\d{4})(\d{4})">
+ <leadingDigits>700</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<!-- When deciding whether to assume a leading 49 is a country code or
<!-- The number format here is suggested in the plan and used online,
although the phone numbers of the national numbering authority itself on
the plan do not follow this. -->
- <numberFormat pattern="([2-8]\d)(\d{2})(\d{2})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-8]\d)(\d{2})(\d{2})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-8]\d{5}</nationalNumberPattern>
<!-- http://en.itst.dk/telecom-internet-regulation/numbering-issues/numbering-lists -->
<territory id="DK" countryCode="45" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([1-9]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([1-9]\d)(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{7}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<!-- Formatting from www.pagesjaunes-dz.com. -->
- <numberFormat leadingDigits="[1-4]"
- pattern="([1-4]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="[5-8]"
- pattern="([5-8]\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="9"
- pattern="(9\d)(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([1-4]\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[1-4]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([5-8]\d{2})(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[5-8]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(9\d)(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>(?:[1-4]|[5-9]\d)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<exampleNumber>800123456</exampleNumber>
</tollFree>
+ <premiumRate>
+ <nationalNumberPattern>80[3-689]1\d{5}</nationalNumberPattern>
+ <possibleNumberPattern>\d{9}</possibleNumberPattern>
+ <exampleNumber>808123456</exampleNumber>
+ </premiumRate>
<!-- The Algerian plan doesn't specify where the costs start to be
considered "premium", so we draw an arbitrary line here and say that from
50 Da up they will be considered premium. -->
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<exampleNumber>801123456</exampleNumber>
</sharedCost>
- <premiumRate>
- <nationalNumberPattern>80[3-689]1\d{5}</nationalNumberPattern>
- <possibleNumberPattern>\d{9}</possibleNumberPattern>
- <exampleNumber>808123456</exampleNumber>
- </premiumRate>
<voip>
<nationalNumberPattern>98[23]\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<!-- http://www.tja.ee/public/Legislation_side/Numbering_/Estonian_NP_eng.htm -->
<territory id="EE" countryCode="372" internationalPrefix="00">
<availableFormats>
- <numberFormat
- leadingDigits="[34679]|5(?:[02]\d{2}|1(?:[0-8]\d|95)|5[0-478]\d|64[0-4]|65[1-589])"
- pattern="([34-79]\d{2})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="8000" pattern="(8000)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="5|8(?:001|[1-5])"
- pattern="([58]\d{3})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="800[2-9]" pattern="(800[2-9])(\d{3})">$1 $2</numberFormat>
+ <numberFormat pattern="([34-79]\d{2})(\d{4})">
+ <leadingDigits>[34679]|5(?:[0-2]|5[0-478]|6[45])</leadingDigits>
+ <leadingDigits>[34679]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(8000)(\d{3})(\d{3})">
+ <leadingDigits>800</leadingDigits>
+ <leadingDigits>8000</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([58]\d{3})(\d{3,4})">
+ <leadingDigits>5|8(?:00|[1-5])</leadingDigits>
+ <leadingDigits>5|8(?:00[1-9]|[1-5])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3-9]\d{6,7}|800\d{6,7}</nationalNumberPattern>
<!-- Note that no explicit formatting rule is here for 5-digit numbers
starting with a 16 or 19. These are formatted without national prefix,
as a block, so do not need to be listed here. -->
- <numberFormat leadingDigits="2" pattern="(2)(\d{8})">$1 $2</numberFormat>
- <numberFormat leadingDigits="3" pattern="(3)(\d{7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[14-6]|[89][2-9]"
- pattern="(\d{2})(\d{7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[89]00"
- pattern="([89]00)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d)(\d{7,8})">
+ <leadingDigits>[23]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{7})">
+ <leadingDigits>[14-6]|[89][2-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([89]00)(\d{3})(\d{4})">
+ <leadingDigits>[89]00</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>1\d{4,9}|[2-689]\d{7,9}</nationalNumberPattern>
<territory id="ER" countryCode="291" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="(\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d)(\d{3})(\d{3})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[178]\d{6}</nationalNumberPattern>
<!-- http://www.mityc.es/telecomunicaciones/es-ES/Servicios/Numeracion/PlanNacional/Paginas/PlanNacionalNumeracion.aspx -->
<territory id="ES" countryCode="34" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([5-9]\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([5-9]\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[5-9]\d{8}</nationalNumberPattern>
<territory id="ET" countryCode="251" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([1-59]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([1-59]\d)(\d{3})(\d{4})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-59]\d{8}</nationalNumberPattern>
<territory id="FI" countryCode="358" internationalPrefix="00|99[049]"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="2[09]|[14]|50|7[135]"
- pattern="(\d{2})(\d{4,10})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[25689][1-8]|3"
- pattern="(\d)(\d{4,11})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[6-8]0" pattern="([6-8]00)(\d{4,7})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4,10})">
+ <leadingDigits>2[09]|[14]|50|7[135]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d)(\d{4,11})">
+ <leadingDigits>[25689][1-8]|3</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([6-8]00)(\d{4,7})">
+ <leadingDigits>[6-8]0</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{4,11}</nationalNumberPattern>
<territory id="FR" countryCode="33" internationalPrefix="[04579]0"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[1-79]"
- pattern="([1-79])(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4 $5</numberFormat>
- <numberFormat leadingDigits="8" nationalPrefixFormattingRule="$NP $FG"
- pattern="(8\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([1-79])(\d{2})(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[1-79]</leadingDigits>
+ <format>$1 $2 $3 $4 $5</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP $FG"
+ pattern="(8\d{2})(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200004E/en -->
<territory id="GA" countryCode="241" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[4-9]" pattern="(\d{2})(\d{2})(\d{2})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="0" pattern="(0\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[4-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(0\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>0</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[4-9]\d{5}|0\d{7}</nationalNumberPattern>
nationalPrefix="0" preferredExtnPrefix=" x" nationalPrefixFormattingRule="$NP$FG"
mainCountryForCode="true" >
<availableFormats>
- <numberFormat leadingDigits="[23]|55"
- pattern="([235]\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1(?:1\d|\d1)"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+ <leadingDigits>[23]|5[56]|9[018]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
+ <leadingDigits>1(?:1|\d1)|500</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- 5-digit area codes (excluding national prefix) are very rare in GB, and are only
available in the following areas: 13873(Langholm), 15242(Hornby), 15394(Hawkshead),
15395(Grange-Over-Sands), 15396(Sedbergh), 16973(Wigton), 16974(Raughton Head),
16977(Brampton), 17683(Appleby), 17684(Pooley Bridge), 17687(Keswick), 19467(Gosforth)-->
- <numberFormat leadingDigits="1(?:3873|5(?:242|39[4-6])|697[347]|768[347]|9467)"
- pattern="(\d{5})(\d{4,5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="1" pattern="(\d{4})(\d{4,6})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{5})(\d{4,5})">
+ <leadingDigits>1(?:38|5[23]|69|76|94)</leadingDigits>
+ <leadingDigits>1(?:387|5(?:24|39)|697|768|946)</leadingDigits>
+ <leadingDigits>1(?:3873|5(?:242|39[4-6])|697[347]|768[347]|9467)</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(1\d{3})(\d{4,6})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
<!-- http://online.vodafone.co.uk/dispatch/Portal/appmanager/vodafone/wrp?_nfpb=true&_pageLabel=Page_BOS_ContactUsContent&pageID=PCU_0001 -->
- <numberFormat leadingDigits="7[1-9]"
- pattern="(7\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="500" pattern="(500)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="56|9[018]"
- pattern="([59]\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="70" pattern="(70\d{2})(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="(7\d{3})(\d{3})(\d{3})">
+ <leadingDigits>7[1-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(70\d{2})(\d{6})">
+ <leadingDigits>70</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
<!-- UK child line -->
- <numberFormat leadingDigits="8001" pattern="(800)(1111)">$1 $2</numberFormat>
- <numberFormat leadingDigits="80" pattern="(80\d)(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8(?:4[3-5]|7[01])"
- pattern="(8\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(800)(1111)">
+ <leadingDigits>800</leadingDigits>
+ <leadingDigits>8001</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(8\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>8(?:0|4[3-5]|7[01])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{7,10}</nationalNumberPattern>
<!-- Format isn't very strictly defined - the yellow pages omits area
code and does 2 2 2, the chairman on the communications commission
listed his as 2 2 4 (Tblisi area code).-->
- <numberFormat leadingDigits="32"
- pattern="(32)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="2|3[13-79]|446" pattern="(\d{3})(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="44(?:2[2369]|[345])"
- pattern="(\d{4})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="442[57]" pattern="(442[57])(\d{3})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[5679]" pattern="(\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8"
- pattern="(800)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(32)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>32</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{5})">
+ <leadingDigits>2|3[13-79]|446</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{4})(\d{3,4})">
+ <leadingDigits>44[2-5]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
+ <leadingDigits>[5679]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(800)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-3579]\d{7}|8\d{8}</nationalNumberPattern>
<!-- http://www.itu.int/dms_pub/itu-t/oth/02/02/T02020000520001MSWE.doc -->
<!-- http://www.nca.org.gh/index.php?option=com_content&view=article&id=90&Itemid=65 -->
<territory id="GH" countryCode="233" internationalPrefix="00"
- nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+ nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[27][12]|4[12]|[35689]1"
- pattern="(\d{2})(\d{3,6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="25|31|[4-9]"
- pattern="([2-9]\d{2})(\d{3,5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="3[02-9]" pattern="(3\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[47]" pattern="(2[47])(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[0368]|54"
- pattern="([25]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3,6})">
+ <leadingDigits>[27][12]|4[12]|[35689]1</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([2-9]\d{2})(\d{3,5})">
+ <leadingDigits>25|31|[4-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>2[0346-8]|3[02-9]|54</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{4,8}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200004F/en -->
<territory id="GM" countryCode="220" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3-9]\d{6}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200005B/en -->
<territory id="GN" countryCode="224" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[367]\d{7}</nationalNumberPattern>
mainCountryForCode="true" nationalPrefix="0"
nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([56]90)(\d{2})(\d{4})">$1 $2-$3</numberFormat>
+ <numberFormat pattern="([56]90)(\d{2})(\d{4})">
+ <format>$1 $2-$3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[56]\d{8}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000041/en -->
<territory id="GQ" countryCode="240" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[235]" pattern="(\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[899]" pattern="(\d{3})(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+ <leadingDigits>[235]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{6})">
+ <leadingDigits>[89]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[23589]\d{8}</nationalNumberPattern>
<!-- http://en.wikipedia.org/wiki/%2B30 -->
<territory id="GR" countryCode="30" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="21|7"
- pattern="([27]\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[2-9]1|[689]"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[2-9][02-9]"
- pattern="(2\d{3})(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="([27]\d)(\d{4})(\d{4})">
+ <leadingDigits>21|7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>2[2-9]1|[689]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(2\d{3})(\d{6})">
+ <leadingDigits>2[2-9][02-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[26-9]\d{9}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200005C/en -->
<territory id="GW" countryCode="245" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3567]\d{6}</nationalNumberPattern>
<!-- http://www.ofta.gov.hk/numbering/main.html -->
<territory id="HK" countryCode="852" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[235-7]|[89](?:0[1-9]|[1-9])"
- pattern="(\d{4})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="800" pattern="(800)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="900"
- pattern="(900)(\d{2})(\d{3})(\d{3})">$1 $2 $3 $4</numberFormat>
- </availableFormats>
- <generalDesc>
- <nationalNumberPattern>[235-9]\d{7,11}</nationalNumberPattern>
+ <numberFormat pattern="(\d{4})(\d{4})">
+ <leadingDigits>[235-7]|[89](?:0[1-9]|[1-9])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(800)(\d{3})(\d{3})">
+ <leadingDigits>800</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(900)(\d{2})(\d{3})(\d{3})">
+ <leadingDigits>900</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ </availableFormats>
+ <generalDesc>
+ <!-- Slightly more complex pattern to allow the country code to be
+ stripped off if necessary. -->
+ <nationalNumberPattern>[235-7]\d{7}|8\d{7,8}|9\d{7,10}</nationalNumberPattern>
<possibleNumberPattern>\d{8,11}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<!-- The plan says 1 XXX XXXX but the government and local telecom
websites are formatted 1 XXXX XXX, so we prefer that formatting
here. These same sources prefer XXX XXX to XX XXXX as well. -->
- <numberFormat leadingDigits="1" pattern="(1)(\d{4})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="6[029]" pattern="(6[029])(\d{4})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[2-5]"
- pattern="([2-5]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9"
- pattern="(9[12589])(\d{3,4})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9"
- pattern="(9[12589])(\d{3,4})(\d{3})(\d{3})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="6[145]|7" pattern="(\d{2})(\d{2})(\d{2,3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="6[145]|7" pattern="(\d{2})(\d{3,4})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8" pattern="(80[01])(\d{2})(\d{2,3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8" pattern="(80[01])(\d{3,4})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)(\d{4})(\d{3})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(6[029])(\d{4})(\d{3})">
+ <leadingDigits>6[029]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([2-5]\d)(\d{3})(\d{3})">
+ <leadingDigits>[2-5]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(9[12589])(\d{3,4})(\d{3,4})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(9[12589])(\d{3,4})(\d{3})(\d{3})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{2,3})">
+ <leadingDigits>6[145]|7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3,4})(\d{3})">
+ <leadingDigits>6[145]|7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(80[01])(\d{2})(\d{2,3})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(80[01])(\d{3,4})(\d{3})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-7]\d{5,8}|[89]\d{6,11}</nationalNumberPattern>
format (confirmed by the following the yellow pages) is
to omit this when formatting. Yellow pages: www.aranyoldalak.hu -->
<availableFormats>
- <numberFormat leadingDigits="1" pattern="(1)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[4-689]|[237][2-9]"
- pattern="(\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[237][01]"
- pattern="([237][01])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)(\d{3})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>[2-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{8,9}</nationalNumberPattern>
<territory id="ID" countryCode="62" internationalPrefix="0(?:0[1789]|10(?:00|1[67]))"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="2[124]|[36]1" nationalPrefixFormattingRule="($NP$FG)"
- pattern="(\d{2})(\d{7,8})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[4579]|2[035-9]|[36][02-9]"
- nationalPrefixFormattingRule="($NP$FG)"
- pattern="(\d{3})(\d{5,7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="8[1-35-9]"
- pattern="(8\d{2})(\d{3,4})(\d{3,4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="1" pattern="(177)(\d{6,8})">$1 $2</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="(\d{2})(\d{7,8})">
+ <leadingDigits>2[124]|[36]1</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="(\d{3})(\d{5,7})">
+ <leadingDigits>[4579]|2[035-9]|[36][02-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(8\d{2})(\d{3,4})(\d{3,4})">
+ <leadingDigits>8[1-35-9]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(177)(\d{6,8})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
<!-- http://en.wikipedia.org/wiki/Toll-free_telephone_number, and
examples on the web show that sometimes they are followed by less
digits. -->
- <numberFormat leadingDigits="800" pattern="(800)(\d{5,7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="809"
- pattern="(809)(\d)(\d{3})(\d{3})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(800)(\d{5,7})">
+ <leadingDigits>800</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(809)(\d)(\d{3})(\d{3})">
+ <leadingDigits>809</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{6,10}</nationalNumberPattern>
<territory id="IE" countryCode="353" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
<availableFormats>
- <numberFormat leadingDigits="1" pattern="(1)(\d{3,4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[2-9]|4[347]|5[2-58]|6[2-47-9]|9[3-9]"
- pattern="(\d{2})(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="40[24]|50[45]" pattern="(\d{3})(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="48" pattern="(48)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="81" pattern="(818)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[24-69]|7[14]"
- pattern="(\d{2})(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8[35-9]" nationalPrefixFormattingRule="$NP$FG"
- pattern="(8[35-9])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="76" nationalPrefixFormattingRule="$NP$FG"
- pattern="(76)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="70" nationalPrefixFormattingRule="$NP$FG"
- pattern="(700)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1(?:8[059]0|5)" nationalPrefixFormattingRule="$FG"
- pattern="(\d{4})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)(\d{3,4})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{5})">
+ <leadingDigits>2[2-9]|4[347]|5[2-58]|6[2-47-9]|9[3-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{5})">
+ <leadingDigits>40[24]|50[45]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(48)(\d{4})(\d{4})">
+ <leadingDigits>48</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(818)(\d{3})(\d{3})">
+ <leadingDigits>81</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>[24-69]|7[14]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="([78]\d)(\d{3})(\d{4})">
+ <leadingDigits>76|8[35-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(700)(\d{3})(\d{3})">
+ <leadingDigits>70</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG" pattern="(\d{4})(\d{3})(\d{3})">
+ <leadingDigits>1(?:8[059]|5)</leadingDigits>
+ <leadingDigits>1(?:8[059]0|5)</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[124-9]\d{6,9}</nationalNumberPattern>
<territory id="IL" countryCode="972" internationalPrefix="0(?:0|1[2-48])"
nationalPrefix="0" nationalPrefixFormattingRule="$FG">
<availableFormats>
- <numberFormat leadingDigits="[2-489]" nationalPrefixFormattingRule="$NP$FG"
- pattern="([2-489])(\d{3})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="[57]" nationalPrefixFormattingRule="$NP$FG"
- pattern="([57]\d)(\d{3})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="1[7-9]"
- pattern="(1)([7-9]\d{2})(\d{3})(\d{3})">$1-$2-$3-$4</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="([2-489])(\d{3})(\d{4})">
+ <leadingDigits>[2-489]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="([57]\d)(\d{3})(\d{4})">
+ <leadingDigits>[57]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(1)([7-9]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>1[7-9]</leadingDigits>
+ <format>$1-$2-$3-$4</format>
+ </numberFormat>
<!-- The following number is for hospitals.-->
- <numberFormat leadingDigits="125" pattern="(1255)(\d{3})">$1-$2</numberFormat>
- <numberFormat leadingDigits="120" pattern="(1200)(\d{3})(\d{3})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="121" pattern="(1212)(\d{2})(\d{2})">$1-$2-$3</numberFormat>
+ <numberFormat pattern="(1255)(\d{3})">
+ <leadingDigits>125</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
+ <numberFormat pattern="(1200)(\d{3})(\d{3})">
+ <leadingDigits>120</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(1212)(\d{2})(\d{2})">
+ <leadingDigits>121</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
</availableFormats>
<generalDesc >
<nationalNumberPattern>[1-57-9]\d{6,9}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<!-- Mobile numbers. -->
- <numberFormat
- leadingDigits="7(?:39|5(?:50|[6-9])|[67][02-9]|8[0-6])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9"
- pattern="(\d{2})(\d{2})(\d{6})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{6})">
+ <leadingDigits>7(?:39|5[5-9]|[67][02-9]|8[0-6])|8(?:0[01589]|1[024]|8[0479]|9[057-9])|9</leadingDigits>
+ <leadingDigits>7(?:39|5(?:50|[6-9])|[67][02-9]|8[0-6])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- 2 digits area code -->
- <numberFormat leadingDigits="11|2[02]|33|4[04]|79|80[2-6]"
- pattern="(\d{2})(\d{4})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+ <leadingDigits>11|2[02]|33|4[04]|79|80[2-6]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- 3 digits area code -->
- <numberFormat
- leadingDigits="1(?:2[0-249]|3[0-25]|4[145]|5[14]|6[14]|7[1257]|8[1346]|9[14]|[68][1-9])"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat
- leadingDigits="4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="5(?:1[25]|22|3[25]|4[28]|5[12]|6[25]|[78]1|9[15])"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="6(?:12|[2345]1|57|6[13]|7[14]|80)"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="7(?:12|2[14]|3[134]|4[47]|5(?:1|5[1-9])|[67]1|88)"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>6(?:12|[2345]1|57|6[13]|7[14]|80)</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)</leadingDigits>
+ <leadingDigits>7(?:12|2[14]|3[134]|4[47]|5(?:1|5[1-9])|[67]1|88)</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- 4 digits area code -->
<!-- Fallback for fixed-line numbers. -->
- <numberFormat leadingDigits="1(?:[2-579]|[68][1-9])|[2-8]"
- pattern="(\d{4})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1600" nationalPrefixFormattingRule="$FG"
- pattern="(1600)(\d{2})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1800" nationalPrefixFormattingRule="$FG"
- pattern="(1800)(\d{2,3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{4})(\d{3})(\d{3})">
+ <leadingDigits>1(?:[2-579]|[68][1-9])|[2-8]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(1600)(\d{2})(\d{4})">
+ <leadingDigits>160</leadingDigits>
+ <leadingDigits>1600</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(1800)(\d{2,3})(\d{4})">
+ <leadingDigits>180</leadingDigits>
+ <leadingDigits>1800</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern>
<territory id="IQ" countryCode="964" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="1" pattern="(1)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[2-6]"
- pattern="([2-6]\d)(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="7"
- pattern="(7[5-9]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)(\d{3})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([2-6]\d)(\d{3})(\d{3,4})">
+ <leadingDigits>[2-6]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(7[5-9]\d)(\d{3})(\d{4})">
+ <leadingDigits>7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-7]\d{7,9}</nationalNumberPattern>
<territory id="IR" countryCode="98" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="21" pattern="(21)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[13-89]|2[02-9]"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(21)(\d{4})(\d{4})">
+ <leadingDigits>21</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>[13-89]|2[02-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{9}</nationalNumberPattern>
<availableFormats>
<!-- The leading zero for fixed numbers will be prepended before the
matching of these regular expressions.-->
- <numberFormat leadingDigits="0[26]"
- pattern="(0[26])(\d{3,4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="0[26]" pattern="(0[26])(\d{4})(\d{5})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="0[26]" pattern="(0[26])(\d{6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="0(?:[13-57-9][0159]|36)"
- pattern="(0\d{2})(\d{3,4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="0(?:[13-57-9][0159]|36)"
- pattern="(0\d{2})(\d{5,6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="0[13-57-9]" pattern="(0\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="0[13-57-9]" pattern="(0\d{3})(\d{4,6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[13]|84[78]"
- pattern="(\d{3})(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="800" pattern="(800)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="803" pattern="(803)(\d{3})">$1 $2</numberFormat>
- <numberFormat leadingDigits="89" pattern="(89\d)(\d{3,6})">$1 $2</numberFormat>
+ <numberFormat pattern="(0[26])(\d{3,4})(\d{4})">
+ <leadingDigits>0[26]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(0[26])(\d{4})(\d{5})">
+ <leadingDigits>0[26]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(0[26])(\d{6})">
+ <leadingDigits>0[26]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(0\d{2})(\d{3,4})(\d{4})">
+ <leadingDigits>0(?:[13-57-9][0159]|36)</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(0\d{2})(\d{5,6})">
+ <leadingDigits>0(?:[13-57-9][0159]|36)</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(0\d{3})(\d{3})(\d{4})">
+ <leadingDigits>0[13-57-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(0\d{3})(\d{4,6})">
+ <leadingDigits>0[13-57-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
+ <leadingDigits>[13]|8(?:00|4[78])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3,6})">
+ <leadingDigits>8(?:03|9)</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[01389]\d{5,10}</nationalNumberPattern>
<territory id="JO" countryCode="962" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[2356]"
- pattern="([2356])(\d{3})(\d{4})"
- nationalPrefixFormattingRule="($NP$FG)">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="7[47-9]"
- pattern="(7)(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4 $5</numberFormat>
- <numberFormat leadingDigits="70" pattern="(70\d)(\d{6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[89]" pattern="([89]\d{2})(\d{5})">$1 $2</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="([2356])(\d{3})(\d{4})">
+ <leadingDigits>[2356]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(7)(\d{2})(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>7[47-9]</leadingDigits>
+ <format>$1 $2 $3 $4 $5</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{5,6})">
+ <leadingDigits>70|[89]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[235-9]\d{7,8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<!-- Toll-free numbers -->
- <numberFormat leadingDigits="(?:12|99)0"
- pattern="(\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+ <leadingDigits>(?:12|99)0</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Some leading digits are explicitly reserved for a particular purpose.
We handle them first in this rule, and let the following rules ignore those exceptions.
Note: The rule here is not in the files we rely on when creating the other rules.
with Non-3G, Japanese-specific protocol).
See also http://ja.wikipedia.org/wiki/PHS (Japanese)
-->
- <numberFormat leadingDigits="[57-9]0"
- pattern="(\d{2})(\d{4})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+ <leadingDigits>[57-9]0</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- The order of the reg-exps are important.
Examples (not all):
- "15": 15420 -> 154-20, 15472 -> 1547-2, 15410 -> 15-410,
- "99": 99400 -> 99-400, 99430 -> 994-30, 99692 -> 9969-2, 99750 -> 997-50
- "993": 99330 -> 993-30, 99331 -> 99-331, 99332 -> 993-32
-->
- <numberFormat leadingDigits="1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|91[23]|969)"
- pattern="(\d{4})(\d)(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|6[2-7]|7[2-689]|8[2-7]|9[1-578])|2(?:2[04-9]|3[3-58]|4[0-468]|6[0135-8]|7[0679]|8[024578]|23[23]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:17|4[2-5])|78[2-7]|8(?:3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|7[059][2-8]|3[689]|6[035-7]|7[68]|80|9[3-5])|5(?:3[1-36-9]|9(?:7[49]|[89][2-8])|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-7])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[017-9]|618|797|9(?:4[6-8]|5[2-478]|6[2-589]))|8(?:29(?:20|4[04-9]|65[25]|[36]60)|376[0-59]|6(?:366|55[014-9]|69[02-69]|99[23])|24[4-8]|29[3578]|3(?:[3-6][2-9]|[78][2-5])|6(?:5[467]|9[236-8]|[68][2-8])|4[5-8]|5[2-9]|6[37]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[0246-9]|5[025-79]|6[4-9]|7[27-9]|8[02-7]|[47]3|[57]4|9(?:4[2-69]|3(?:3[02-9]|4[0-24689])|[5-7]))"
- pattern="(\d{3})(\d{2})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1|2(?:23|5(?:[57]|[68]0|917|999)|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2(?:[124589]|9[24])|3[79]6|6(?:69|99))|9(?:[235-8]|9331|934)|15[45]"
- pattern="(\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2(?:9[14-79]|74|[34]7|[56]9)|82|993"
- pattern="(\d{3})(\d{2})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[36]|4(?:2[09]|7[01])"
- pattern="(\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[2479]"
- pattern="(\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{4})(\d)(\d{4})">
+ <leadingDigits>1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])</leadingDigits>
+ <leadingDigits>1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))</leadingDigits>
+ <leadingDigits>1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+ <leadingDigits>1(?:2[3-6]|3[3-9]|4[2-6]|5[2-8]|[68][2-7]|7[2-689]|9[1-578])|2(?:2[034-9]|3[3-58]|4[0-468]|5[04-8]|6[013-8]|7[06-9]|8[02-57-9]|9[13])|4(?:2[28]|3[689]|6[035-7]|7[05689]|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9[4-9])|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9[014-9])|8(?:2[49]|3[3-8]|4[5-8]|5[2-9]|6[35-9]|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9[3-7])</leadingDigits>
+ <leadingDigits>1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9[2-8])|3(?:7[2-56]|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5[4-7]|6[2-9]|8[2-8]|9[236-9])|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3[34]|[4-7]))</leadingDigits>
+ <leadingDigits>1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6[56]))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))</leadingDigits>
+ <leadingDigits>1(?:2[3-6]|3[3-9]|4[2-6]|5(?:[236-8]|[45][2-69])|[68][2-7]|7[2-689]|9[1-578])|2(?:2(?:[04-9]|3[23])|3[3-58]|4[0-468]|5(?:5[78]|7[2-4]|[0468][2-9])|6(?:[0135-8]|4[2-5])|7(?:[0679]|8[2-7])|8(?:[024578]|3[25-9]|9[6-9])|9(?:11|3[2-4]))|4(?:2(?:2[2-9]|8[237-9])|3[689]|6[035-7]|7(?:[059][2-8]|[68])|80|9[3-5])|5(?:3[1-36-9]|4[4578]|5[013-8]|6[1-9]|7[2-8]|8[14-7]|9(?:[89][2-8]|[4-7]))|7(?:2[15]|3[5-9]|4[02-9]|6[135-8]|7[0-4689]|9(?:[017-9]|4[6-8]|5[2-478]|6[2-589]))|8(?:2(?:4[4-8]|9(?:[3578]|20|4[04-9]|6(?:5[25]|60)))|3(?:7(?:[2-5]|6[0-59])|[3-6][2-9]|8[2-5])|4[5-8]|5[2-9]|6(?:[37]|5(?:[467]|5[014-9])|6(?:[2-8]|9[02-69])|8[2-8]|9(?:[236-8]|9[23]))|7[579]|8[03-579]|9[2-8])|9(?:[23]0|4[02-46-9]|5[0245-79]|6[4-9]|7[2-47-9]|8[02-7]|9(?:3(?:3[02-9]|4[0-24689])|4[2-69]|[5-7]))</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+ <leadingDigits>1|2(?:23|5[5-89]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)</leadingDigits>
+ <leadingDigits>1|2(?:23|5(?:[57]|[68]0|9[19])|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])</leadingDigits>
+ <leadingDigits>1|2(?:23|5(?:[57]|[68]0|9(?:17|99))|64|78|8[39]|917)|4(?:2(?:[68]|20|9[178])|64|7[347])|5(?:[2-589]|39[67])|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+ <leadingDigits>2(?:9[14-79]|74|[34]7|[56]9)|82|993</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d)(\d{4})(\d{4})">
+ <leadingDigits>[36]|4(?:2[09]|7[01])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+ <leadingDigits>[2479]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{9,10}</nationalNumberPattern>
<territory id="KE" countryCode="254" internationalPrefix="000"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[2-6]" pattern="([2-6]\d)(\d{4,7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="7" pattern="(7\d{2})(\d{6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="8|90" pattern="(\d{3})(\d{6,7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="91" pattern="(91)(\d{6,7})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4,7})">
+ <leadingDigits>[2-6]|91</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{6,7})">
+ <leadingDigits>[78]|90</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{6,10}</nationalNumberPattern>
<!-- Kyrgyzstan -->
<!-- http://www.itu.int/oth/T0202000074/en -->
<territory id="KG" countryCode="996" internationalPrefix="00"
- nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
+ nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="31[25]|[5-8]"
- pattern="(\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="3(?:1[36]|[2-9])" pattern="(\d{4})(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+ <leadingDigits>31[25]|[5-8]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{4})(\d{5})">
+ <leadingDigits>3(?:1[36]|[2-9])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[356-8]\d{8}</nationalNumberPattern>
<territory id="KH" countryCode="855" internationalPrefix="00[178]"
nationalPrefix="0">
<availableFormats>
- <numberFormat leadingDigits="1\d[1-9]|[2-9]" nationalPrefixFormattingRule="$NP$FG"
- pattern="(\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1[89]0"
- pattern="(1[89]00)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(\d{2})(\d{3})(\d{3})">
+ <leadingDigits>1\d[1-9]|[2-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(1[89]00)(\d{3})(\d{3})">
+ <leadingDigits>1[89]0</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{7,9}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200002D/en -->
<territory id="KM" countryCode="269" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d)(\d{3})(\d{3})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[37]\d{6}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixForParsing="0(?:8[1-46-8]|85\d{2})?"
nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0"
- pattern="(\d{2})(\d{4})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="1(?:[169][2-8]|[78]|5(?:[1-3]|4[56]))|[68]0|[3-9][1-9][2-9]"
- pattern="(\d{2})(\d{3})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="1312"
- pattern="(\d{3})(\d)(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="131[13-9]"
- pattern="(\d{3})(\d{2})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="13[2-9]"
- pattern="(\d{3})(\d{3})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="30"
- pattern="(\d{2})(\d{2})(\d{3})(\d{4})">$1-$2-$3-$4</numberFormat>
- <numberFormat leadingDigits="2(?:[26]|3(?:01|1[45]|2[17-9]|39|4|6[67]|7[078]))"
- pattern="(\d)(\d{4})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="2(?:3(?:0[02-9]|1[0-36-9]|2[02-6]|3[0-8]|6[0-589]|7[1-69]|[589])|[457-9])"
- pattern="(\d)(\d{3})(\d{4})">$1-$2-$3</numberFormat>
- <numberFormat leadingDigits="21(?:[0-247-9]|3[124]|6[1269])"
- pattern="(\d)(\d{3})">$1-$2</numberFormat>
- <numberFormat leadingDigits="21(?:3[035-9]|6[03-578])"
- pattern="(\d)(\d{4})">$1-$2</numberFormat>
- <numberFormat leadingDigits="[3-9][1-9]1(?:[0-247-9]|3[124]|6[1269])"
- pattern="(\d{2})(\d{3})">$1-$2</numberFormat>
- <numberFormat leadingDigits="[3-9][1-9]1(?:3[035-9]|6[03-578])"
- pattern="(\d{2})(\d{4})">$1-$2</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+ <leadingDigits>1(?:0|1[19]|[69]9|5[458])|[57]0</leadingDigits>
+ <leadingDigits>1(?:0|1[19]|[69]9|5(?:44|59|8))|[57]0</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+ <leadingDigits>1(?:[169][2-8]|[78]|5[1-4])|[68]0|[3-9][1-9][2-9]</leadingDigits>
+ <leadingDigits>1(?:[169][2-8]|[78]|5(?:[1-3]|4[56]))|[68]0|[3-9][1-9][2-9]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d)(\d{4})">
+ <leadingDigits>131</leadingDigits>
+ <leadingDigits>1312</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2})(\d{4})">
+ <leadingDigits>131</leadingDigits>
+ <leadingDigits>131[13-9]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>13[2-9]</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{3})(\d{4})">
+ <leadingDigits>30</leadingDigits>
+ <format>$1-$2-$3-$4</format>
+ </numberFormat>
+ <numberFormat pattern="(\d)(\d{4})(\d{4})">
+ <leadingDigits>2(?:[26]|3[0-467])</leadingDigits>
+ <leadingDigits>2(?:[26]|3(?:01|1[45]|2[17-9]|39|4|6[67]|7[078]))</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d)(\d{3})(\d{4})">
+ <leadingDigits>2(?:3[0-35-9]|[457-9])</leadingDigits>
+ <leadingDigits>2(?:3(?:0[02-9]|1[0-36-9]|2[02-6]|3[0-8]|6[0-589]|7[1-69]|[589])|[457-9])</leadingDigits>
+ <format>$1-$2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d)(\d{3,4})">
+ <leadingDigits>21[0-46-9]</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3,4})">
+ <leadingDigits>[3-9][1-9]1</leadingDigits>
+ <leadingDigits>[3-9][1-9]1(?:[0-46-9])</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-79]\d{3,9}|8\d{8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<!-- Format is from http://www.kuwait.com/index.php?option=com_mtree&task=viewlink&link_id=139&Itemid=15 -->
- <numberFormat leadingDigits="1" pattern="(18\d{2})(\d{3})">$1 $2</numberFormat>
- <numberFormat leadingDigits="2" pattern="(2[2-5]\d{2})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[69]" pattern="([69]\d{3})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="5" pattern="(5[05]\d)(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{4})(\d{3,4})">
+ <leadingDigits>[1269]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(5[05]\d)(\d{5})">
+ <leadingDigits>5</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[12569]\d{6,7}</nationalNumberPattern>
<territory id="LA" countryCode="856" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="20"
- pattern="(20)([2357-9])(\d{3})(\d{3})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="21|[3-57]"
- pattern="([2-57]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(20)([2357-9])(\d{3})(\d{3})">
+ <leadingDigits>20</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([2-57]\d)(\d{3})(\d{3})">
+ <leadingDigits>21|[3-57]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-57]\d{7,8}</nationalNumberPattern>
<territory id="LB" countryCode="961" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[13-6]"
- pattern="([13-6])(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[7-9][01]"
- pattern="([7-9][01])(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[7-9][2-9]"
- pattern="([7-9][2-9])(\d{2})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([13-6])(\d{3})(\d{3})">
+ <leadingDigits>[13-6]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([7-9][01])(\d{3})(\d{3})">
+ <leadingDigits>[7-9][01]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([7-9][2-9])(\d{2})(\d{3})">
+ <leadingDigits>[7-9][2-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[13-9]\d{6,7}</nationalNumberPattern>
shared cost numbers - look at "Mehrwertnummer". -->
<territory id="LI" countryCode="423" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[23]|7[4-9]|87"
- pattern="(\d{3})(\d{2})(\d{2})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="6" pattern="(6\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[7-9]0"
- pattern="([7-9]0\d)(\d{2})(\d{2})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>[23]|7[4-9]|87</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(6\d)(\d{3})(\d{3})">
+ <leadingDigits>6</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([7-9]0\d)(\d{2})(\d{2})">
+ <leadingDigits>[7-9]0</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- 0800 and 0900 are valid prefixes, but Liechtenstein
doesn't have a general national prefix, so we include it manually here
when formatting. We can tell whether it needs one by number length.-->
- <numberFormat leadingDigits="[89]0"
- pattern="([89]0\d)(\d{2})(\d{2})(\d{2})">0$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([89]0\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[89]0</leadingDigits>
+ <format>0$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>(?:66|80|90)\d{7}|[237-9]\d{6}</nationalNumberPattern>
<availableFormats>
<!-- Formatting from Ministry of Agriculture,
http://www.moa.gov.lr/content.php?sub=Email&?related=Contacts -->
- <numberFormat leadingDigits="[27]"
- pattern="([27]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[4-6]"
- pattern="([4-6])(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([27]\d)(\d{3})(\d{3})">
+ <leadingDigits>[27]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([4-6])(\d{3})(\d{3})">
+ <leadingDigits>[4-6]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>(?:[27]\d|[4-6])\d{6}</nationalNumberPattern>
<territory id="LS" countryCode="266" internationalPrefix="00">
<availableFormats>
<!-- Formatting following yellow pages: www.yellowpages.co.ls-->
- <numberFormat pattern="(\d{4})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{4})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2568]\d{7}</nationalNumberPattern>
nationalPrefix="8" nationalPrefixFormattingRule="$NP $FG">
<availableFormats>
<!-- Two-digit area codes -->
- <numberFormat leadingDigits="37|4(?:1|5[45]|6[2-4])"
- pattern="([34]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([34]\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>37|4(?:1|5[45]|6[2-4])</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
<!-- Three-digit area codes -->
- <numberFormat leadingDigits="3[148]|4(?:[24]|6[09])|5(?:[0189]|28)|[689]"
- pattern="([3-689]\d{2})(\d{2})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="52[0-79]"
- pattern="(5)(2[0-79]\d)(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([3-689]\d{2})(\d{2})(\d{3})">
+ <leadingDigits>3[148]|4(?:[24]|6[09])|5(?:[0189]|28)|[689]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(5)(2[0-79]\d)(\d{4})">
+ <leadingDigits>52[0-79]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3-9]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000076/en -->
<territory id="LV" countryCode="371" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([2689]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2689]\d)(\d{3})(\d{3})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2689]\d{7}</nationalNumberPattern>
<territory id="MA" countryCode="212" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="5(?:2[015-7]|3[0-4])|6"
- pattern="([56]\d{2})(\d{6})">$1-$2</numberFormat>
- <numberFormat leadingDigits="5(?:2(?:[2-48]|90)|3(?:[5-79]|80))|892"
- pattern="([58]\d{3})(\d{5})">$1-$2</numberFormat>
- <numberFormat leadingDigits="5(?:29[89]|38[89])"
- pattern="(5\d{4})(\d{4})">$1-$2</numberFormat>
- <numberFormat leadingDigits="8(?:0|9[013-9])"
- pattern="(8[09])(\d{7})">$1-$2</numberFormat>
+ <numberFormat pattern="([56]\d{2})(\d{6})">
+ <leadingDigits>5(?:2[015-7]|3[0-4])|6</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
+ <numberFormat pattern="([58]\d{3})(\d{5})">
+ <leadingDigits>5(?:2[2-489]|3[5-9])|892</leadingDigits>
+ <leadingDigits>5(?:2(?:[2-48]|90)|3(?:[5-79]|80))|892</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
+ <numberFormat pattern="(5\d{4})(\d{4})">
+ <leadingDigits>5(?:29|38)</leadingDigits>
+ <leadingDigits>5(?:29|38)[89]</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
+ <numberFormat pattern="(8[09])(\d{7})">
+ <leadingDigits>8(?:0|9[013-9])</leadingDigits>
+ <format>$1-$2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[5689]\d{8}</nationalNumberPattern>
<territory id="MD" countryCode="373" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="22" pattern="(22)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[13-79]|[5-7]"
- pattern="([25-7]\d{2})(\d{2})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[89]" pattern="([89]00)(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="(22)(\d{3})(\d{3})">
+ <leadingDigits>22</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([25-7]\d{2})(\d{2})(\d{3})">
+ <leadingDigits>2[13-79]|[5-7]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([89]00)(\d{5})">
+ <leadingDigits>[89]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[256-9]\d{7}</nationalNumberPattern>
<territory id="MG" countryCode="261" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([23]\d)(\d{2})(\d{3})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([23]\d)(\d{2})(\d{3})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[23]\d{8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<!-- Formats follow wikipedia. -->
- <numberFormat leadingDigits="2" pattern="(2)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[347]"
- pattern="([347]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[58]"
- pattern="([58]\d{2})(\d)(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(2)(\d{3})(\d{4})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([347]\d)(\d{3})(\d{3})">
+ <leadingDigits>[347]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([58]\d{2})(\d)(\d{2})(\d{2})">
+ <leadingDigits>[58]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-578]\d{7}</nationalNumberPattern>
<territory id="ML" countryCode="223" internationalPrefix="00"
nationalPrefix="0">
<availableFormats>
- <numberFormat pattern="([246-8]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([246-8]\d)(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[246-8]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000092/en -->
<territory id="MM" countryCode="95" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="1" pattern="(1)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)(\d{3})(\d{3})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- This overlaps the previous pattern. -->
- <numberFormat leadingDigits="13"
- pattern="(1)(3)(33\d)(\d{3})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="2"
- pattern="(2)(\d{2})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[4-8]"
- pattern="(\d{2})(\d{2})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)(3)(33\d)(\d{3})">
+ <leadingDigits>133</leadingDigits>
+ <leadingDigits>1333</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(2)(\d{2})(\d{3})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{2})(\d{3})">
+ <leadingDigits>[4-8]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Format is from http://www.aitaa.ait.ac.th/chapters/copy17_of_aitaa-national-chapters-1 -->
- <numberFormat leadingDigits="94" pattern="(9444)(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="9[25689]"
- pattern="(9)([25689]\d{2})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(9444)(\d{5})">
+ <leadingDigits>94</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(9)([25689]\d{2})(\d{4})">
+ <leadingDigits>9[25689]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[124-8]\d{5,7}|9\d{7,8}</nationalNumberPattern>
<territory id="MN" countryCode="976" internationalPrefix="001"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[12]1|[7-9]"
- pattern="([127-9]\d)(\d{2})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[12]2[1-3]" pattern="([12]2\d)(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[12](?:27|[3-5]\d)2"
- pattern="([12]\d{3})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[12](?:27|[3-5]\d)[4-9]"
- pattern="([12]\d{4})(\d{3})">$1 $2</numberFormat>
+ <numberFormat pattern="([127-9]\d)(\d{2})(\d{4})">
+ <leadingDigits>[12]1|[7-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([12]2\d)(\d{5})">
+ <leadingDigits>[12]2[1-3]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([12]\d{3})(\d{4})">
+ <leadingDigits>[12](?:27|[3-5])</leadingDigits>
+ <leadingDigits>[12](?:27|[3-5]\d)2</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([12]\d{4})(\d{3})">
+ <leadingDigits>[12](?:27|[3-5])</leadingDigits>
+ <leadingDigits>[12](?:27|[3-5]\d)[4-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[127-9]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200007E/en -->
<territory id="MO" countryCode="853" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([268]\d{3})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="([268]\d{3})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[268]\d{7}</nationalNumberPattern>
<!-- http://www.are.mr/com-1-4-1.html -->
<territory id="MR" countryCode="222" internationalPrefix="00" >
<availableFormats>
- <numberFormat pattern="([2-7]\d{2})(\d{2})(\d{2})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-7]\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-7]\d{6}</nationalNumberPattern>
happen August 2010, and 7 digit numbers will be phased out by 1 November
2010. -->
<availableFormats>
- <numberFormat pattern="([2-9]\d{2})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="([2-9]\d{2})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{6}</nationalNumberPattern>
<territory id="MW" countryCode="265" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[13-5]"
- pattern="(\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2"
- pattern="(2\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="7"
- pattern="(\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[89]"
- pattern="(\d)(\d{3,4})(\d{3,4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d)(\d{3})(\d{3})">
+ <leadingDigits>[13-5]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(2\d{2})(\d{3})(\d{3})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d)(\d{4})(\d{4})">
+ <leadingDigits>7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d)(\d{3,4})(\d{3,4})">
+ <leadingDigits>[89]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<!-- According to the plan, the switch from 7 to 9 digits for mobile
numbers happened in July 2009. However, online numbers don't
in international format (leading 1) or national format
(leading 045/046), will be parsed into the same form. -->
<availableFormats>
- <numberFormat leadingDigits="33|55|81"
- pattern="([358]\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <intlNumberFormat leadingDigits="33|55|81"
- pattern="([358]\d)(\d{4})(\d{4})">$1 $2 $3</intlNumberFormat>
- <numberFormat leadingDigits="[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9]"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <intlNumberFormat leadingDigits="[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9]"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</intlNumberFormat>
- <numberFormat leadingDigits="1(?:33|55|81)"
- nationalPrefixFormattingRule="$FG"
- pattern="1([358]\d)(\d{4})(\d{4})">045 $1 $2 $3</numberFormat>
- <intlNumberFormat leadingDigits="1(?:33|55|81)"
- pattern="(1)([358]\d)(\d{4})(\d{4})">$1 $2 $3 $4</intlNumberFormat>
- <numberFormat leadingDigits="1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"
- nationalPrefixFormattingRule="$FG"
- pattern="1(\d{3})(\d{3})(\d{4})">045 $1 $2 $3</numberFormat>
- <intlNumberFormat leadingDigits="1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"
- pattern="(1)(\d{3})(\d{3})(\d{4})">$1 $2 $3 $4</intlNumberFormat>
- <numberFormat leadingDigits="[89]0"
- pattern="([89]00)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <intlNumberFormat leadingDigits="[89]0"
- pattern="([89]00)(\d{3})(\d{4})">$1 $2 $3</intlNumberFormat>
+ <numberFormat pattern="([358]\d)(\d{4})(\d{4})">
+ <leadingDigits>33|55|81</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="([358]\d)(\d{4})(\d{4})">
+ <leadingDigits>33|55|81</leadingDigits>
+ <format>$1 $2 $3</format>
+ </intlNumberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>[2467]|3[12457-9]|5[89]|8[02-9]|9[0-35-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>[2467]|3[12457-9]|5[89]|8[02-9]|9[0-35-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </intlNumberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="1([358]\d)(\d{4})(\d{4})">
+ <leadingDigits>1(?:33|55|81)</leadingDigits>
+ <format>045 $1 $2 $3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="(1)([358]\d)(\d{4})(\d{4})">
+ <leadingDigits>1(?:33|55|81)</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </intlNumberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="1(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])</leadingDigits>
+ <format>045 $1 $2 $3</format>
+ </numberFormat>
+ <intlNumberFormat pattern="(1)(\d{3})(\d{3})(\d{4})">
+ <leadingDigits>1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </intlNumberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern>
<territory id="MY" countryCode="60" internationalPrefix="00"
nationalPrefix="0">
<availableFormats>
- <numberFormat leadingDigits="[4-79]" nationalPrefixFormattingRule="$NP$FG"
- pattern="([4-79])(\d{3})(\d{4})">$1-$2 $3</numberFormat>
- <numberFormat leadingDigits="3" nationalPrefixFormattingRule="$NP$FG"
- pattern="(3)(\d{4})(\d{4})">$1-$2 $3</numberFormat>
- <numberFormat leadingDigits="8" nationalPrefixFormattingRule="$NP$FG"
- pattern="(8[2-9])(\d{3})(\d{3})">$1-$2 $3</numberFormat>
- <numberFormat leadingDigits="1[0-46-9][1-9]" nationalPrefixFormattingRule="$NP$FG"
- pattern="(1\d)(\d{3})(\d{4})">$1-$2 $3</numberFormat>
- <numberFormat leadingDigits="1[36-8]0"
- pattern="(1)([36-8]00)(\d{2})(\d{4})">$1-$2-$3-$4</numberFormat>
- <numberFormat leadingDigits="15" nationalPrefixFormattingRule="$NP$FG"
- pattern="(154)(\d{3})(\d{4})">$1-$2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="([4-79])(\d{3})(\d{4})">
+ <leadingDigits>[4-79]</leadingDigits>
+ <format>$1-$2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(3)(\d{4})(\d{4})">
+ <leadingDigits>3</leadingDigits>
+ <format>$1-$2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="([18]\d)(\d{3})(\d{3,4})">
+ <leadingDigits>1[0-46-9][1-9]|8</leadingDigits>
+ <format>$1-$2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(1)([36-8]00)(\d{2})(\d{4})">
+ <leadingDigits>1[36-8]0</leadingDigits>
+ <format>$1-$2-$3-$4</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(154)(\d{3})(\d{4})">
+ <leadingDigits>15</leadingDigits>
+ <format>$1-$2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[13-9]\d{7,9}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T0202000091/en -->
<territory id="MZ" countryCode="258" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="2"
- pattern="(2\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8[24]"
- pattern="(8[24])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="80"
- pattern="(80\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([28]\d)(\d{3})(\d{3,4})">
+ <leadingDigits>2|8[24]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(80\d)(\d{3})(\d{3})">
+ <leadingDigits>80</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[28]\d{7,8}</nationalNumberPattern>
<territory id="NA" countryCode="264" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="8[15]"
- pattern="(8\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <!-- This overlaps by necessity with the next pattern, so as it is more
- specific, it is listed first. The area code is actually 632532, but
- leadingDigits length is limited to 4.-->
- <numberFormat leadingDigits="6325" pattern="(632532)(\d{2,4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="6(?:1|[245][1-7]|3[125-7]|6[1256]|7[1236])"
- pattern="(6\d)(\d{2,3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(8\d)(\d{3})(\d{4})">
+ <leadingDigits>8[15]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <!-- This overlaps with the next pattern so is listed first. -->
+ <numberFormat pattern="(632532)(\d{2,4})">
+ <leadingDigits>632</leadingDigits>
+ <leadingDigits>6325</leadingDigits>
+ <leadingDigits>63253</leadingDigits>
+ <leadingDigits>632532</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(6\d)(\d{2,3})(\d{4})">
+ <leadingDigits>6(?:1|[245][1-7]|3[125-7]|6[1256]|7[1236])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Another overlap pattern - this one is for shorter numbers. -->
- <numberFormat leadingDigits="6(?:3[12567]|5[3-5]|6[1256]|7[1236])"
- pattern="(6\d)(\d{4,5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="6[2356]8" pattern="(6\d{2})(\d{4,6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="6(?:342|6[34]|751)"
- pattern="(6\d{3})(\d{4,5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="88"
- pattern="(88)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(6\d)(\d{4,5})">
+ <leadingDigits>6(?:3[12567]|5[3-5]|6[1256]|7[1236])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(6\d{2})(\d{4,6})">
+ <leadingDigits>6[2356]8</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(6\d{3})(\d{4,5})">
+ <leadingDigits>6(?:34|6[34]|75)</leadingDigits>
+ <leadingDigits>6(?:342|6[34]|751)</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(88)(\d{3})(\d{3})">
+ <leadingDigits>88</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[68]\d{5,9}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200009B/en -->
<territory id="NE" countryCode="227" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[29]|09"
- pattern="([029]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="08"
- pattern="(08)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([029]\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[29]|09</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(08)(\d{3})(\d{3})">
+ <leadingDigits>08</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[029]\d{7}</nationalNumberPattern>
<territory id="NG" countryCode="234" internationalPrefix="009"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[12]"
- pattern="([12])(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9"
- pattern="(9)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[3-6]|7(?:[1-79]|0[1-9])|8[2-9]"
- pattern="([3-8]\d)(\d{3})(\d{2,3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="70[3-9]|8(?:0[1-9]|1[23])"
- pattern="([78]\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="702|819"
- pattern="([78]\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[78]00"
- pattern="([78]00)(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[78]00"
- pattern="([78]00)(\d{4})(\d{4,5})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[78]00"
- pattern="([78]00)(\d{5})(\d{5,6})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="78"
- pattern="(78)(\d{2})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([129])(\d{3})(\d{3,4})">
+ <leadingDigits>[129]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([3-8]\d)(\d{3})(\d{2,3})">
+ <leadingDigits>[3-6]|7(?:[1-79]|0[1-9])|8[2-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([78]\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>70[03-9]|8(?:0|1[23])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([78]\d{3})(\d{3})(\d{3})">
+ <leadingDigits>702|819</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([78]00)(\d{4})(\d{4,5})">
+ <leadingDigits>[78]00</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([78]00)(\d{5})(\d{5,6})">
+ <leadingDigits>[78]00</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(78)(\d{2})(\d{3})">
+ <leadingDigits>78</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-69]\d{5,8}|[78]\d{5,13}</nationalNumberPattern>
<territory id="NL" countryCode="31" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7|8[458]"
- pattern="([1-578]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1[16-8]|2[259]|3[124]|4[17-9]|5[124679]"
- pattern="([1-5]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="6" pattern="(6)(\d{8})">$1 $2</numberFormat>
- <numberFormat leadingDigits="80|9" pattern="([89]0\d)(\d{4,7})">$1 $2</numberFormat>
+ <numberFormat pattern="([1-578]\d)(\d{3})(\d{4})">
+ <leadingDigits>1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7|8[458]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([1-5]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>1[16-8]|2[259]|3[124]|4[17-9]|5[124679]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(6)(\d{8})">
+ <leadingDigits>6</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([89]0\d)(\d{4,7})">
+ <leadingDigits>80|9</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{6,9}</nationalNumberPattern>
http://www.npt.no/portal/page/portal/PG_NPT_NO_EN/PAG_NPT_EN_HOME/PAG_RESOURCE_TEXT -->
<territory id="NO" countryCode="47" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[489]"
- pattern="([489]\d{2})(\d{2})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[235-7]"
- pattern="([235-7]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([489]\d{2})(\d{2})(\d{3})">
+ <leadingDigits>[489]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([235-7]\d)(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>[235-7]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>0\d{4}|[2-9]\d{7}</nationalNumberPattern>
<territory id="NP" countryCode="977" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="1[4-6]"
- pattern="(1)([4-6]\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1[01]|[2-8]|9[1-79]"
- pattern="(\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)([4-6]\d{3})(\d{3})">
+ <leadingDigits>1[4-6]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3})">
+ <leadingDigits>1[01]|[2-8]|9[1-79]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Format is from http://www.fco.gov.uk/en/travel-and-living-abroad/travel-advice-by-country/country-profile/asia-oceania/nepal/ -->
- <numberFormat leadingDigits="98"
- pattern="(98[45])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(98[45])(\d{3})(\d{4})">
+ <leadingDigits>98</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-8]\d{5,7}|98[45]\d{7}</nationalNumberPattern>
<territory id="NZ" countryCode="64" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[3467]|9[1-9]"
- pattern="([34679])(\d{3})(\d{4})">$1-$2 $3</numberFormat>
+ <numberFormat pattern="([34679])(\d{3})(\d{4})">
+ <leadingDigits>[3467]|9[1-9]</leadingDigits>
+ <format>$1-$2 $3</format>
+ </numberFormat>
<!-- Mobile numbers do not have exclusive leading digits - formatting
depends on number length.-->
<!-- Vodafone numbers are formatted with 021 separated. -->
- <numberFormat leadingDigits="21"
- pattern="(21)(\d{4})(\d{3,4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(21)(\d{4})(\d{3,4})">
+ <leadingDigits>21</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Adding in the toll free numbers here as well since they follow the
same format. -->
- <numberFormat leadingDigits="2[0247-9]|5|[89]00"
- pattern="([2589]\d{2})(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2589]\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>2[0247-9]|5|[89]00</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Vodafone and Orcon numbers can also be 8 digits (without leading
- 0), and these are formatted differently. -->
- <numberFormat leadingDigits="2[019]"
- pattern="(2[019])(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ 0), and these are formatted differently. -->
+ <numberFormat pattern="(2[019])(\d{3})(\d{3})">
+ <leadingDigits>2[019]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Antarctica -->
- <numberFormat leadingDigits="24099"
- pattern="(24099)(\d{3})">$1 $2</numberFormat>
+ <numberFormat pattern="(24099)(\d{3})">
+ <leadingDigits>240</leadingDigits>
+ <leadingDigits>2409</leadingDigits>
+ <leadingDigits>24099</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{7,9}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T020200009F/en -->
<territory id="OM" countryCode="968" internationalPrefix="00" >
<availableFormats>
- <numberFormat leadingDigits="2" pattern="(2\d)(\d{6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="9" pattern="(9\d{3})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="8" pattern="(800)(7\d{4,5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="5" pattern="(500)(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="(2\d)(\d{6})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(9\d{3})(\d{4})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([58]00)(\d{4,6})">
+ <leadingDigits>[58]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>(?:2[3-6]|5|9[2-9])\d{6}|800\d{5,6}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="($FG)"
preferredExtnPrefix=" Anexo ">
<availableFormats>
- <numberFormat leadingDigits="19" pattern="(1)(9\d{2})(\d{6})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1[0-8]" pattern="(1)(\d{8})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[4-8]\d[0-8]" pattern="([4-8]\d)(\d{6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[4-8]\d9"
- pattern="([4-8]\d)(9\d{2})(\d{6})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(1)(9\d{2})(\d{6})">
+ <leadingDigits>19</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(1)(\d{8})">
+ <leadingDigits>1[0-8]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([4-8]\d)(\d{6})">
+ <leadingDigits>[4-8]\d[0-8]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([4-8]\d)(9\d{2})(\d{6})">
+ <leadingDigits>[4-8]\d9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<!-- The explicit requirements for numbers beginning with 5 are because
<!-- http://en.wikipedia.org/wiki/%2B675 -->
<territory id="PG" countryCode="675" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[1-689]" pattern="(\d{3})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="7[1-36]"
- pattern="(7[1-36]\d)(\d{2})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})">
+ <leadingDigits>[1-689]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(7[1-36]\d)(\d{2})(\d{3})">
+ <leadingDigits>7[1-36]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{6,7}</nationalNumberPattern>
<availableFormats>
<!--Area code separated from number. Area codes found here:
http://en.wikipedia.org/wiki/Telecommunications_in_the_Philippines#Area_Codes-->
- <numberFormat leadingDigits="2" nationalPrefixFormattingRule="($NP$FG)"
- pattern="(2)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))" nationalPrefixFormattingRule="($NP$FG)"
- pattern="(\d{4})(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="3469|4(?:279|9(?:30|56))|8834"
- nationalPrefixFormattingRule="($NP$FG)"
- pattern="(\d{5})(\d{4})">$1 $2</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="(2)(\d{3})(\d{4})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="(\d{4})(\d{5})">
+ <leadingDigits>3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|5(?:22|44)|642|8(?:62|8[245])</leadingDigits>
+ <leadingDigits>3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="(\d{5})(\d{4})">
+ <leadingDigits>346|4(?:27|9[35])|883</leadingDigits>
+ <leadingDigits>3469|4(?:279|9(?:30|56))|8834</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
<!-- This rule is a fallback for the more specific area codes.-->
- <numberFormat leadingDigits="[3-8]" nationalPrefixFormattingRule="($NP$FG)"
- pattern="([3-8]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9" nationalPrefixFormattingRule="$NP$FG"
- pattern="(9\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="([3-8]\d)(\d{3})(\d{4})">
+ <leadingDigits>[3-8]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$NP$FG"
+ pattern="(9\d{2})(\d{3})(\d{4})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Formatting from
http://www.uniontelecard.com/calling-guides/philippines/guide1.aspx -->
- <numberFormat leadingDigits="1"
- pattern="(1800)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1"
- pattern="(1800)(\d{1,2})(\d{3})(\d{4})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(1800)(\d{3})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(1800)(\d{1,2})(\d{3})(\d{4})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{7,9}|1800\d{7,9}</nationalNumberPattern>
<territory id="PK" countryCode="92" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="21|42" pattern="([24]\d)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat
- leadingDigits="2[25]|4[0146-9]|5[1-35-8]|6[1-8]|7[14]|8[16]|91"
- pattern="(\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[349]|3|45|54|60|72|8[2-5]|9[2-9]"
- pattern="(\d{3})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="89" pattern="([89]00)(\d{3})(\d{2})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{4})">
+ <leadingDigits>2[25]|4[0146-9]|5[1-35-8]|6[1-8]|7[14]|8[16]|91</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{2})(\d{4})(\d{4})">
+ <leadingDigits>21|42</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{2,4})">
+ <leadingDigits>2[349]|3|45|54|60|72|8[02-5]|9[02-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{7,9}</nationalNumberPattern>
(in Polish) -->
<territory id="PL" countryCode="48" internationalPrefix="00">
<availableFormats>
- <numberFormat leadingDigits="[124]|3[2-4]|5[24-689]|6[1-3578]|7[014-7]|8[1-79]|9[145]"
- pattern="(\d{2})(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="39|5[013]|6[069]|7[289]|8[08]"
- pattern="(\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>[124]|3[2-4]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+ <leadingDigits>39|5[013]|6[069]|7[0289]|8[08]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern>
<!-- http://www.anacom.pt/render.jsp?categoryId=279098 -->
<territory id="PT" countryCode="351" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([2-46-9]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-46-9]\d{2})(\d{3})(\d{3})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-46-9]\d{8}</nationalNumberPattern>
<!-- http://wtng.info/wtng-qq.html -->
<territory id="QA" countryCode="974" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([3-8]\d{2})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="([3-8]\d{2})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3-8]\d{6}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
leadingDigits="262|6[49]|8" mainCountryForCode="true" >
<availableFormats>
- <numberFormat pattern="([268]\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([268]\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[268]\d{8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
preferredExtnPrefix=" int ">
<availableFormats>
- <numberFormat leadingDigits="[23]1|7"
- pattern="([237]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[23][02-9]|[89]"
- pattern="(\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([237]\d)(\d{3})(\d{4})">
+ <leadingDigits>[23]1|7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
+ <leadingDigits>[23][02-9]|[89]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[237-9]\d{8}</nationalNumberPattern>
<territory id="RS" countryCode="381" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="(?:2[389]|39)0"
- pattern="([23]\d{2})(\d{4,7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="1|2(?:[0-24-7]|[389][1-9])|3(?:[0-8]|9[1-9])"
- pattern="([1-3]\d)(\d{5,8})">$1 $2</numberFormat>
- <numberFormat leadingDigits="6" pattern="(6[0-689])(\d{3,10})">$1 $2</numberFormat>
- <numberFormat leadingDigits="42" pattern="(42)(\d{4,7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="[89]" pattern="([89]0\d)(\d{3,6})">$1 $2</numberFormat>
+ <numberFormat pattern="([23]\d{2})(\d{4,7})">
+ <leadingDigits>(?:2[389]|39)0</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([1-4]\d)(\d{4,8})">
+ <leadingDigits>1|2(?:[0-24-7]|[389][1-9])|3(?:[0-8]|9[1-9])|42</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(6[0-689])(\d{3,10})">
+ <leadingDigits>6</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([89]0\d)(\d{3,6})">
+ <leadingDigits>[89]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-46-9]\d{4,11}</nationalNumberPattern>
<!-- Formatting from wikipedia, confirmed on Goverment websites such
as http://www.minjust.ru/ru/structure/contact/. Contains formatting
instructions for Kazakhstan as well. -->
- <numberFormat leadingDigits="[34689]"
- pattern="([34689]\d{2})(\d{3})(\d{2})(\d{2})">$1 $2-$3-$4</numberFormat>
- <numberFormat leadingDigits="7"
- pattern="([7]\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([34689]\d{2})(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>[34689]</leadingDigits>
+ <format>$1 $2-$3-$4</format>
+ </numberFormat>
+ <numberFormat pattern="([7]\d{2})(\d{3})(\d{4})">
+ <leadingDigits>7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3489]\d{9}</nationalNumberPattern>
<territory id="RW" countryCode="250" internationalPrefix="000"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="2" nationalPrefixFormattingRule="$FG"
- pattern="(25\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[7-9]"
- pattern="([7-9]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(25\d)(\d{3})(\d{3})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([7-9]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>[7-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[27-9]\d{8}</nationalNumberPattern>
<territory id="SA" countryCode="966" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[1-467]"
- pattern="([1-467])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9" pattern="(9200)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="5" pattern="(5\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="80" pattern="(800)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="81" pattern="(8111)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([1-467])(\d{3})(\d{4})">
+ <leadingDigits>[1-467]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(9200)(\d{3})(\d{4})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(5\d)(\d{3})(\d{4})">
+ <leadingDigits>5</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(800)(\d{3})(\d{4})">
+ <leadingDigits>80</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(8111)(\d{3})(\d{3})">
+ <leadingDigits>81</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{7,10}</nationalNumberPattern>
<territory id="SC" countryCode="248" internationalPrefix="0[0-2]"
preferredInternationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{3})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{3})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-8]\d{5}</nationalNumberPattern>
<territory id="SE" countryCode="46" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="8"
- pattern="(8)(\d{2,3})(\d{2,3})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="1[013689]|2[136]|3[1356]|4[0246]|54|6[03]|90"
- pattern="([1-69]\d)(\d{2,3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90"
- pattern="([1-69]\d)(\d{3})(\d{2})">$1 $2 $3</numberFormat>
- <numberFormat
- leadingDigits="1[2457]|2[2457-9]|3[0247-9]|4[1357-9]|5[0-35-9]|6[124-9]|9(?:[125-8]|3[0-5]|4[0-3])"
- pattern="(\d{3})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat
- leadingDigits="1[2457]|2[2457-9]|3[0247-9]|4[1357-9]|5[0-35-9]|6[124-9]|9(?:[125-8]|3[0-5]|4[0-3])"
- pattern="(\d{3})(\d{2,3})(\d{2})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="7[02-46]"
- pattern="(7[02-46])(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="20"
- pattern="(20)(\d{2,3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="20"
- pattern="(20)(\d{2,3})(\d{2})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9[034]"
- pattern="(9[034]\d)(\d{2})(\d{2})(\d{3})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(8)(\d{2,3})(\d{2,3})(\d{2})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([1-69]\d)(\d{2,3})(\d{2})(\d{2})">
+ <leadingDigits>1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([1-69]\d)(\d{3})(\d{2})">
+ <leadingDigits>1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2})(\d{2})(\d{2})">
+ <leadingDigits>1[2457]|2[2457-9]|3[0247-9]|4[1357-9]|5[0-35-9]|6[124-9]|9(?:[125-8]|3[0-5]|4[0-3])</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2,3})(\d{2})">
+ <leadingDigits>1[2457]|2[2457-9]|3[0247-9]|4[1357-9]|5[0-35-9]|6[124-9]|9(?:[125-8]|3[0-5]|4[0-3])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(7[02-46])(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>7[02-46]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(20)(\d{2,3})(\d{2})">
+ <leadingDigits>20</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(9[034]\d)(\d{2})(\d{2})(\d{3})">
+ <leadingDigits>9[034]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{7,10}</nationalNumberPattern>
<!-- http://www.ida.gov.sg/policies%20and%20regulation/20060508120124.aspx -->
<territory id="SG" countryCode="65" internationalPrefix="0[0-3][0-9]">
<availableFormats>
- <numberFormat leadingDigits="[369]|8[1-9]"
- pattern="([3689]\d{3})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="1[89]"
- pattern="(1[89]00)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="80"
- pattern="(800)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([3689]\d{3})(\d{4})">
+ <leadingDigits>[369]|8[1-9]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(1[89]00)(\d{3})(\d{4})">
+ <leadingDigits>1[89]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(800)(\d{3})(\d{4})">
+ <leadingDigits>80</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[13689]\d{7,10}</nationalNumberPattern>
<territory id="SI" countryCode="386" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[12]|3[4-8]|4[24-8]|5[4-8]|7[3-8]"
- pattern="(\d)(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="[37][01]|4[019]|51|64"
- pattern="([3-7]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[89]" pattern="([89]0)(\d{4,6})">$1 $2</numberFormat>
- </availableFormats>
- <generalDesc>
- <nationalNumberPattern>[1-9]\d{5,7}</nationalNumberPattern>
- <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+ <numberFormat nationalPrefixFormattingRule="($NP$FG)"
+ pattern="(\d)(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>[12]|3[4-8]|4[24-8]|5[3-8]|7[3-8]</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([3-7]\d)(\d{3})(\d{3})">
+ <leadingDigits>[37][01]|4[019]|51|64</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([89][09])(\d{3,6})">
+ <leadingDigits>[89][09]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([58]\d{2})(\d{5})">
+ <leadingDigits>59|8[1-3]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ </availableFormats>
+ <generalDesc>
+ <nationalNumberPattern>[1-7]\d{6,7}|[89]\d{4,7}</nationalNumberPattern>
+ <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
</generalDesc>
<fixedLine>
- <nationalNumberPattern>[1-57]\d{6}</nationalNumberPattern>
+ <nationalNumberPattern>(?:1\d|2[2-8]|3[4-8]|4[24-8]|[57][3-8])\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{7,8}</possibleNumberPattern>
- <exampleNumber>1123456</exampleNumber>
+ <exampleNumber>11234567</exampleNumber>
</fixedLine>
<mobile>
+ <!-- We include 049 here - it is VoIP in the plan, but successful
+ delivery has been performed by mobile - and it is run by Mobitel.
+ There are also mobile numbers found on the internet with this prefix -
+ it is apparently used in Kosovo. -->
<nationalNumberPattern>(?:[37][01]|4[019]|51|64)\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{8}</possibleNumberPattern>
<exampleNumber>31234567</exampleNumber>
<exampleNumber>80123456</exampleNumber>
</tollFree>
<premiumRate>
- <nationalNumberPattern>90\d{4,6}</nationalNumberPattern>
- <possibleNumberPattern>\d{6,8}</possibleNumberPattern>
+ <!-- Includes televoting, mass calling-->
+ <nationalNumberPattern>90\d{4,6}|89[1-3]\d{2,5}</nationalNumberPattern>
+ <possibleNumberPattern>\d{5,8}</possibleNumberPattern>
<exampleNumber>90123456</exampleNumber>
</premiumRate>
+ <voip>
+ <nationalNumberPattern>(?:59|8[1-3])\d{6}</nationalNumberPattern>
+ <possibleNumberPattern>\d{8}</possibleNumberPattern>
+ <exampleNumber>59012345</exampleNumber>
+ </voip>
</territory>
<!-- Slovakia -->
<territory id="SK" countryCode="421" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="2"
- pattern="(2)(\d{3})(\d{3})(\d{2})">$1/$2 $3 $4</numberFormat>
- <numberFormat leadingDigits="[3-5]"
- pattern="([3-5]\d)(\d{3})(\d{2})(\d{2})">$1/$2 $3 $4</numberFormat>
- <numberFormat leadingDigits="[689]"
- pattern="([689]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(2)(\d{3})(\d{3})(\d{2})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1/$2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([3-5]\d)(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>[3-5]</leadingDigits>
+ <format>$1/$2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="([689]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>[689]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-689]\d{8}</nationalNumberPattern>
<availableFormats>
<!-- Following formatting of online yellow pages
www.leonedirect.com -->
- <numberFormat pattern="(\d{2})(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{6})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-578]\d{7}</nationalNumberPattern>
<availableFormats>
<!-- Using yellow pages and online telecom company formatting, rather
than that implied in the national numbering plan. -->
- <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[37]\d{8}</nationalNumberPattern>
<availableFormats>
<!-- These follow formats online, such as www.hortel.net/contact_us.html
-->
- <numberFormat leadingDigits="[13-5]"
- pattern="([13-5])(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="([13-5])(\d{6})">
+ <leadingDigits>[13-5]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
<!-- Unfortunately numbers beginning with 1 are hard to format based on
prefixes, since it depends on number length. -->
- <numberFormat leadingDigits="[19]"
- pattern="([19]\d)(\d{6})">$1 $2</numberFormat>
+ <numberFormat pattern="([19]\d)(\d{6})">
+ <leadingDigits>[19]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[13-59]\d{6,7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T02020000B6/en -->
<territory id="ST" countryCode="239" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{4})">$1 $2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})">
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[29]\d{6}</nationalNumberPattern>
<territory id="SY" countryCode="963" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[13]"
- pattern="([13]\d)(\d{3})(\d{3,4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[245]"
- pattern="([245]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9"
- pattern="(9[3-689])(\d{4})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{2})(\d{3})(\d{3,4})">
+ <leadingDigits>[1-5]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(9[3-689])(\d{4})(\d{3})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-59]\d{7,8}</nationalNumberPattern>
<!-- Note this plan is scheduled to change in April and again in August in
2010 so should be updated at that time. -->
<territory id="SZ" countryCode="268" internationalPrefix="00">
+ <availableFormats>
+ <numberFormat pattern="(\d{3})(\d{4})">
+ <leadingDigits>[2-6]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{4})(\d{4})">
+ <leadingDigits>7</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ </availableFormats>
<generalDesc>
<nationalNumberPattern>[2-7]\d{6,7}</nationalNumberPattern>
<possibleNumberPattern>\d{7,8}</possibleNumberPattern>
</generalDesc>
- <availableFormats>
- <numberFormat leadingDigits="[2-6]"
- pattern="(\d{3})(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="7"
- pattern="(\d{4})(\d{4})">$1 $2</numberFormat>
- </availableFormats>
<fixedLine>
<!-- The leading optional 2 is because future changes to the fixed-line
plan will be made by prepending a two to fixed-line numbers. -->
internationalPrefix="00|16">
<availableFormats>
<numberFormat
- pattern="(\d{2})(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ pattern="(\d{2})(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2679]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T02020000D1/en -->
<territory id="TG" countryCode="228" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{2})(\d{2})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{2})(\d{2})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[02-9]\d{6}</nationalNumberPattern>
<availableFormats>
<!-- Formatting patterns from wikipedia and the document itself -
http://en.wikipedia.org/wiki/%2B66 -->
- <numberFormat leadingDigits="2" pattern="(2)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="6" pattern="(60)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[3-57]"
- pattern="([3-57]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="8" pattern="(8)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1" nationalPrefixFormattingRule="$FG"
- pattern="(1[89]00)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- </availableFormats>
- <generalDesc>
- <nationalNumberPattern>[1-8]\d{7,9}</nationalNumberPattern>
+ <numberFormat pattern="(2)(\d{3})(\d{4})">
+ <leadingDigits>2</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([3-7]\d)(\d{3})(\d{3,4})">
+ <leadingDigits>[3-7]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(8)(\d{4})(\d{4})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(1[89]00)(\d{3})(\d{3})">
+ <leadingDigits>1</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ </availableFormats>
+ <generalDesc>
+ <nationalNumberPattern>[2-8]\d{7,8}|1\d{9}</nationalNumberPattern>
<possibleNumberPattern>\d{8,10}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<territory id="TJ" countryCode="992" internationalPrefix="8~10"
nationalPrefix="8" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[34]7|91[78]"
- pattern="([349]\d{2})(\d{2})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="4[48]" pattern="(4[48])(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="3317" pattern="(331700)(\d)(\d{2})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="3(?:[1245]|3(?:[02-9]|1[0-589]))"
- pattern="(\d{4})(\d)(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9(?:19|[0235-9])"
- pattern="(9\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([349]\d{2})(\d{2})(\d{4})">
+ <leadingDigits>[34]7|91[78]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([49]\d)(\d{3})(\d{4})">
+ <leadingDigits>4[48]|9(?:19|[0235-9])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(331700)(\d)(\d{2})">
+ <leadingDigits>331</leadingDigits>
+ <leadingDigits>3317</leadingDigits>
+ <leadingDigits>33170</leadingDigits>
+ <leadingDigits>331700</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{4})(\d)(\d{4})">
+ <leadingDigits>3[1-5]</leadingDigits>
+ <leadingDigits>3(?:[1245]|3(?:[02-9]|1[0-589]))</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[349]\d{8}</nationalNumberPattern>
<!-- There doesn't seem to be a standardized format. The format below is based on the
Turkmenistan embassy at
http://www.turkmenistanembassy.org/turkmen/info/contact.html-->
- <numberFormat pattern="([1-6]\d)(\d{2})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([1-6]\d)(\d{2})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-6]\d{7}</nationalNumberPattern>
<!-- http://www.itu.int/oth/T02020000D5/en -->
<territory id="TN" countryCode="216" internationalPrefix="00">
<availableFormats>
- <numberFormat pattern="([247-9]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([247-9]\d)(\d{3})(\d{3})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[247-9]\d{7}</nationalNumberPattern>
<territory id="TR" countryCode="90" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([2-589]\d{2})(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-589]\d{2})(\d{3})(\d{4})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-589]\d{9}</nationalNumberPattern>
<territory id="TW" countryCode="886" internationalPrefix="0(?:0[25679]|19)"
nationalPrefix="0" preferredExtnPrefix="#" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[2-7]|8[1-9]"
- pattern="([2-8])(\d{3,4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="80|9"
- pattern="([89]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2-8])(\d{3,4})(\d{4})">
+ <leadingDigits>[2-7]|8[1-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([89]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>80|9</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{7,8}</nationalNumberPattern>
<territory id="TZ" countryCode="255" internationalPrefix="00[056]"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[24]" pattern="([24]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="[67]"
- pattern="([67]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([24]\d)(\d{3})(\d{4})">
+ <leadingDigits>[24]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([67]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>[67]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Formatting for special numbers from www.tcra.go.tz -->
- <numberFormat leadingDigits="[89]"
- pattern="([89]\d{2})(\d{2})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([89]\d{2})(\d{2})(\d{4})">
+ <leadingDigits>[89]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{9}</nationalNumberPattern>
is useful but not error-free. Have used local yellow pages guidelines,
Google searches and regression tests to reverse-engineer these rules.
-->
- <numberFormat leadingDigits="39|4(?:[45][0-5]|87)|5(?:0|67|7[37])|6[36-8]|9[1-9]"
- pattern="([3-69]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat
- leadingDigits="3(?:[1-46-8]2[013-9]|52)|4[1378]2|5(?:[124-7]2|64)|6(?:[49]2|[12][29]|5[24])|8|90"
- pattern="([3-689]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat
- leadingDigits="3(?:5[013-9]|[1-46-8](?:22|[013-9]))|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])"
- pattern="([3-6]\d{3})(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="([3-69]\d)(\d{3})(\d{4})">
+ <leadingDigits>39|4(?:[45][0-5]|87)|5(?:0|67|7[37])|6[36-8]|9[1-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([3-689]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>3[1-8]2|4[1378]2|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8|90</leadingDigits>
+ <leadingDigits>3(?:[1-46-8]2[013-9]|52)|4[1378]2|5(?:[12457]2|6[24])|6(?:[49]2|[12][29]|5[24])|8|90</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([3-6]\d{3})(\d{5})">
+ <leadingDigits>3(?:5[013-9]|[1-46-8])|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])</leadingDigits>
+ <leadingDigits>3(?:5[013-9]|[1-46-8](?:22|[013-9]))|4(?:[137][013-9]|6|[45][6-9]|8[4-6])|5(?:[1245][013-9]|6[0135-9]|3|7[4-6])|6(?:[49][013-9]|5[0135-9]|[12][13-8])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[3-689]\d{8}</nationalNumberPattern>
<territory id="UG" countryCode="256" internationalPrefix="00[057]"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[7-9]|200|4(?:6[45]|[7-9])"
- pattern="([247-9]\d{2})(\d{6})">$1 $2</numberFormat>
- <numberFormat leadingDigits="3|4(?:[1-5]|6[0-36-9])"
- pattern="([34]\d)(\d{7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="202" pattern="(2024)(\d{5})">$1 $2</numberFormat>
+ <numberFormat pattern="([247-9]\d{2})(\d{6})">
+ <leadingDigits>[7-9]|200|4(?:6[45]|[7-9])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([34]\d)(\d{7})">
+ <leadingDigits>3|4(?:[1-5]|6[0-36-9])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(2024)(\d{5})">
+ <leadingDigits>202</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{9}</nationalNumberPattern>
numbers in the national format, it is not included. Therefore, we omit it here to make
formatting consistent with the rest of the world. The same applies to all the
countries/regions under NANPA -->
+ <!-- The national prefix of "1" here is the same as the country code. It is
+ not used by default when formatting, but is set here so that users
+ who are calling formatByPattern can specify
+ NationalPrefixFormattingRule if they want to. -->
<territory id="US" countryCode="1" internationalPrefix="011"
- mainCountryForCode="true" >
- <availableFormats>
- <numberFormat pattern="(\d{3})(\d{3})(\d{4})">($1) $2-$3</numberFormat>
- <numberFormat pattern="(\d{3})(\d{4})">$1-$2</numberFormat>
+ mainCountryForCode="true" nationalPrefix="1">
+ <availableFormats>
+ <numberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <format>($1) $2-$3</format>
+ </numberFormat>
+ <numberFormat pattern="(\d{3})(\d{4})">
+ <format>$1-$2</format>
+ </numberFormat>
<!-- A different pattern is used when formatting internationally, as
the area code is no longer optional and should not be in brackets. -->
- <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">$1-$2-$3</intlNumberFormat>
- <intlNumberFormat pattern="(\d{3})(\d{4})">$1-$2</intlNumberFormat>
+ <intlNumberFormat pattern="(\d{3})(\d{3})(\d{4})">
+ <format>$1-$2-$3</format>
+ </intlNumberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-9]\d{9}</nationalNumberPattern>
<territory id="UZ" countryCode="998" internationalPrefix="8~10"
nationalPrefix="8" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([679]\d)(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
+ <numberFormat pattern="([679]\d)(\d{3})(\d{2})(\d{2})">
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[679]\d{8}</nationalNumberPattern>
06 698) but can also be dialled with the Vatican City country code. -->
<territory id="VA" countryCode="379" internationalPrefix="00" >
<availableFormats>
- <numberFormat pattern="(06)(\d{4})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="(06)(\d{4})(\d{4})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>06\d{8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixForParsing="1\d{2}|0"
nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="(\d{3})(\d{7})">$1-$2</numberFormat>
+ <numberFormat pattern="(\d{3})(\d{7})">
+ <format>$1-$2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[24589]\d{9}</nationalNumberPattern>
<territory id="VN" countryCode="84" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[48]" pattern="([48])(\d{4})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="2[025-79]|3[0136-9]|5[2-9]|6[0-46-9]|7[02-79]"
- pattern="([235-7]\d)(\d{4})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="80"
- pattern="(80)(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="693"
- pattern="(69[3-5])(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="2[1348]|3[25]|5[01]|65|7[18]"
- pattern="([235-7]\d{2})(\d{4})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="9"
- pattern="(9[0-8])(\d{3})(\d{2})(\d{2})">$1 $2 $3 $4</numberFormat>
- <numberFormat leadingDigits="1(?:[26]|99)"
- pattern="(1[269]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="1(?:8|90)" nationalPrefixFormattingRule="$FG"
- pattern="(1[89]00)(\d{4,6})">$1 $2</numberFormat>
+ <numberFormat pattern="([48])(\d{4})(\d{4})">
+ <leadingDigits>[48]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="([235-7]\d)(\d{4})(\d{3})">
+ <leadingDigits>2[025-79]|3[0136-9]|5[2-9]|6[0-46-9]|7[02-79]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(80)(\d{5})">
+ <leadingDigits>80</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(69[3-5])(\d{5})">
+ <leadingDigits>693</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([235-7]\d{2})(\d{4})(\d{3})">
+ <leadingDigits>2[1348]|3[25]|5[01]|65|7[18]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(9[0-8])(\d{3})(\d{2})(\d{2})">
+ <leadingDigits>9</leadingDigits>
+ <format>$1 $2 $3 $4</format>
+ </numberFormat>
+ <numberFormat pattern="(1[269]\d)(\d{3})(\d{4})">
+ <leadingDigits>1(?:[26]|99)</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat nationalPrefixFormattingRule="$FG"
+ pattern="(1[89]00)(\d{4,6})">
+ <leadingDigits>1(?:8|90)</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>8\d{5,8}|[1-79]\d{7,9}</nationalNumberPattern>
<!-- Should be formatted in one block, apart from the specific series
below. For this reason the leadingDigits is more detailed than would
appear necessary. -->
- <numberFormat leadingDigits="840" pattern="(840)(\d{4})">$1 $2</numberFormat>
- <numberFormat leadingDigits="7[25-7]" pattern="(7[25-7])(\d{5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="800" pattern="(800)(\d{3})">$1 $2</numberFormat>
+ <numberFormat pattern="(8[04]0)(\d{3,4})">
+ <leadingDigits>8[04]0</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(7[25-7])(\d{5})">
+ <leadingDigits>7[25-7]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[2-8]\d{4,6}</nationalNumberPattern>
<territory id="YE" countryCode="967" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="1[2-68]|[2-6]|7[24-68]"
- pattern="([1-7])(\d{3})(\d{3})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="17"
- pattern="(1)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
- <numberFormat leadingDigits="7[137]"
- pattern="(7[137]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([1-7])(\d{3})(\d{3,4})">
+ <leadingDigits>[1-6]|7[24-68]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
+ <numberFormat pattern="(7[137]\d)(\d{3})(\d{3})">
+ <leadingDigits>7[137]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-7]\d{6,8}</nationalNumberPattern>
<territory id="ZA" countryCode="27" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat pattern="([1-578]\d)(\d{3})(\d{4})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([1-578]\d)(\d{3})(\d{4})">
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{9}</nationalNumberPattern>
<territory id="ZM" countryCode="260" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
- <numberFormat leadingDigits="[29]"
- pattern="([29]\d)(\d{7})">$1 $2</numberFormat>
- <numberFormat leadingDigits="8"
- pattern="(800)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([29]\d)(\d{7})">
+ <leadingDigits>[29]</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="(800)(\d{3})(\d{3})">
+ <leadingDigits>8</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[289]\d{8}</nationalNumberPattern>
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<!-- One-digit area codes -->
- <numberFormat leadingDigits="4|9[2-9]"
- pattern="([49])(\d{3})(\d{2,5})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([49])(\d{3})(\d{2,5})">
+ <leadingDigits>4|9[2-9]</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Mobile numbers -->
- <numberFormat leadingDigits="[19]1|7"
- pattern="([179]\d)(\d{3})(\d{3,5})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([179]\d)(\d{3})(\d{3,5})">
+ <leadingDigits>[19]1|7</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Two-digit area codes -->
- <numberFormat
- leadingDigits="1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])"
- pattern="([1-356]\d)(\d{3,5})">$1 $2</numberFormat>
- <numberFormat
- leadingDigits="1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])"
- pattern="([1-356]\d)(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([1-356]\d)(\d{3,5})">
+ <leadingDigits>1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([1-356]\d)(\d{3})(\d{3})">
+ <leadingDigits>1[3-9]|2(?:[1-469]|0[0-35-9]|[45][0-79])|3(?:0[0-79]|1[0-689]|[24-69]|3[0-69])|5(?:[02-46-9]|[15][0-69])|6(?:[0145]|[29][0-79]|3[0-689]|[68][0-69])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Three-digit area codes -->
- <numberFormat
- leadingDigits="2(?:[278]|0[45]|48)|3(?:08|17|3[78]|[78])|5[15][78]|6(?:[29]8|37|[68][78])"
- pattern="([2356]\d{2})(\d{3,5})">$1 $2</numberFormat>
- <numberFormat
- leadingDigits="2(?:[278]|0[45]|48)|3(?:08|17|3[78]|[78])|5[15][78]|6(?:[29]8|37|[68][78])"
- pattern="([2356]\d{2})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([2356]\d{2})(\d{3,5})">
+ <leadingDigits>2(?:[278]|0[45]|48)|3(?:08|17|3[78]|[78])|5[15][78]|6(?:[29]8|37|[68][78])</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([2356]\d{2})(\d{3})(\d{3})">
+ <leadingDigits>2(?:[278]|0[45]|48)|3(?:08|17|3[78]|[78])|5[15][78]|6(?:[29]8|37|[68][78])</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
<!-- Four-digit area codes -->
- <numberFormat leadingDigits="258[23]|5483"
- pattern="([25]\d{3})(\d{3,5})">$1 $2</numberFormat>
- <numberFormat leadingDigits="258[23]|5483"
- pattern="([25]\d{3})(\d{3})(\d{3})">$1 $2 $3</numberFormat>
+ <numberFormat pattern="([25]\d{3})(\d{3,5})">
+ <leadingDigits>(?:25|54)8</leadingDigits>
+ <leadingDigits>258[23]|5483</leadingDigits>
+ <format>$1 $2</format>
+ </numberFormat>
+ <numberFormat pattern="([25]\d{3})(\d{3})(\d{3})">
+ <leadingDigits>(?:25|54)8</leadingDigits>
+ <leadingDigits>258[23]|5483</leadingDigits>
+ <format>$1 $2 $3</format>
+ </numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>(?:[19]1|23)\d{3,8}|[1-69]\d{4,8}</nationalNumberPattern>
"/com/google/i18n/phonenumbers/PhoneNumberMetadataProtoForTesting";
public AsYouTypeFormatterTest() {
- PhoneNumberUtil.resetInstance();
+ PhoneNumberUtil.resetInstance();
InputStream in = PhoneNumberUtilTest.class.getResourceAsStream(TEST_META_DATA_FILE);
phoneUtil = PhoneNumberUtil.getInstance(in);
}
- public void testAsYouTypeFormatterUS() {
+ public void testAYTFUS() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("US");
assertEquals("6", formatter.inputDigit('6'));
assertEquals("65", formatter.inputDigit('5'));
assertEquals("650", formatter.inputDigit('0'));
- assertEquals("6502", formatter.inputDigit('2'));
- assertEquals("65025", formatter.inputDigit('5'));
+ assertEquals("650 2", formatter.inputDigit('2'));
+ assertEquals("650 25", formatter.inputDigit('5'));
assertEquals("650 253", formatter.inputDigit('3'));
- assertEquals("650 253 2", formatter.inputDigit('2'));
+ // Note this is how a US local number (without area code) should be formatted.
+ assertEquals("650 2532", formatter.inputDigit('2'));
assertEquals("650 253 22", formatter.inputDigit('2'));
assertEquals("650 253 222", formatter.inputDigit('2'));
assertEquals("650 253 2222", formatter.inputDigit('2'));
formatter.clear();
assertEquals("1", formatter.inputDigit('1'));
assertEquals("16", formatter.inputDigit('6'));
- assertEquals("165", formatter.inputDigit('5'));
- assertEquals("1650", formatter.inputDigit('0'));
- assertEquals("16502", formatter.inputDigit('2'));
+ assertEquals("1 65", formatter.inputDigit('5'));
+ assertEquals("1 650", formatter.inputDigit('0'));
+ assertEquals("1 650 2", formatter.inputDigit('2'));
assertEquals("1 650 25", formatter.inputDigit('5'));
assertEquals("1 650 253", formatter.inputDigit('3'));
assertEquals("1 650 253 2", formatter.inputDigit('2'));
formatter.clear();
assertEquals("0", formatter.inputDigit('0'));
assertEquals("01", formatter.inputDigit('1'));
- assertEquals("011", formatter.inputDigit('1'));
- assertEquals("0114", formatter.inputDigit('4'));
- assertEquals("01144", formatter.inputDigit('4'));
+ assertEquals("011 ", formatter.inputDigit('1'));
+ assertEquals("011 4", formatter.inputDigit('4'));
+ assertEquals("011 44 ", formatter.inputDigit('4'));
assertEquals("011 44 6", formatter.inputDigit('6'));
assertEquals("011 44 61", formatter.inputDigit('1'));
- assertEquals("011 44 612", formatter.inputDigit('2'));
+ assertEquals("011 44 6 12", formatter.inputDigit('2'));
assertEquals("011 44 6 123", formatter.inputDigit('3'));
assertEquals("011 44 6 123 1", formatter.inputDigit('1'));
assertEquals("011 44 6 123 12", formatter.inputDigit('2'));
formatter.clear();
assertEquals("0", formatter.inputDigit('0'));
assertEquals("01", formatter.inputDigit('1'));
- assertEquals("011", formatter.inputDigit('1'));
- assertEquals("0115", formatter.inputDigit('5'));
- assertEquals("01154", formatter.inputDigit('4'));
+ assertEquals("011 ", formatter.inputDigit('1'));
+ assertEquals("011 5", formatter.inputDigit('5'));
+ assertEquals("011 54 ", formatter.inputDigit('4'));
assertEquals("011 54 9", formatter.inputDigit('9'));
assertEquals("011 54 91", formatter.inputDigit('1'));
- assertEquals("011 54 911", formatter.inputDigit('1'));
- assertEquals("011 54 9 11 2",
- formatter.inputDigit('2'));
+ assertEquals("011 54 9 11", formatter.inputDigit('1'));
+ assertEquals("011 54 9 11 2", formatter.inputDigit('2'));
assertEquals("011 54 9 11 23", formatter.inputDigit('3'));
assertEquals("011 54 9 11 231", formatter.inputDigit('1'));
assertEquals("011 54 9 11 2312", formatter.inputDigit('2'));
assertEquals("011 54 9 11 2312 1234", formatter.inputDigit('4'));
formatter.clear();
+ assertEquals("0", formatter.inputDigit('0'));
+ assertEquals("01", formatter.inputDigit('1'));
+ assertEquals("011 ", formatter.inputDigit('1'));
+ assertEquals("011 2", formatter.inputDigit('2'));
+ assertEquals("011 24", formatter.inputDigit('4'));
+ assertEquals("011 244 ", formatter.inputDigit('4'));
+ assertEquals("011 244 2", formatter.inputDigit('2'));
+ assertEquals("011 244 28", formatter.inputDigit('8'));
+ assertEquals("011 244 280", formatter.inputDigit('0'));
+ assertEquals("011 244 280 0", formatter.inputDigit('0'));
+ assertEquals("011 244 280 00", formatter.inputDigit('0'));
+ assertEquals("011 244 280 000", formatter.inputDigit('0'));
+ assertEquals("011 244 280 000 0", formatter.inputDigit('0'));
+ assertEquals("011 244 280 000 00", formatter.inputDigit('0'));
+ assertEquals("011 244 280 000 000", formatter.inputDigit('0'));
+
+ formatter.clear();
assertEquals("+", formatter.inputDigit('+'));
assertEquals("+4", formatter.inputDigit('4'));
- assertEquals("+48", formatter.inputDigit('8'));
- assertEquals("+488", formatter.inputDigit('8'));
- assertEquals("+4888", formatter.inputDigit('8'));
- assertEquals("+48 881", formatter.inputDigit('1'));
+ assertEquals("+48 ", formatter.inputDigit('8'));
+ assertEquals("+48 8", formatter.inputDigit('8'));
+ assertEquals("+48 88", formatter.inputDigit('8'));
+ assertEquals("+48 88 1", formatter.inputDigit('1'));
assertEquals("+48 88 12", formatter.inputDigit('2'));
assertEquals("+48 88 123", formatter.inputDigit('3'));
assertEquals("+48 88 123 1", formatter.inputDigit('1'));
assertEquals("+48 88 123 12 12", formatter.inputDigit('2'));
}
- public void testAsYouTypeFormatterUSFullWidthCharacters() {
+ public void testAYTFUSFullWidthCharacters() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("US");
assertEquals("\uFF16", formatter.inputDigit('\uFF16'));
assertEquals("\uFF16\uFF15", formatter.inputDigit('\uFF15'));
- assertEquals("\uFF16\uFF15\uFF10", formatter.inputDigit('\uFF10'));
- assertEquals("\uFF16\uFF15\uFF10\uFF12", formatter.inputDigit('\uFF12'));
- assertEquals("\uFF16\uFF15\uFF10\uFF12\uFF15", formatter.inputDigit('\uFF15'));
+ assertEquals("650", formatter.inputDigit('\uFF10'));
+ assertEquals("650 2", formatter.inputDigit('\uFF12'));
+ assertEquals("650 25", formatter.inputDigit('\uFF15'));
assertEquals("650 253", formatter.inputDigit('\uFF13'));
- assertEquals("650 253 2", formatter.inputDigit('\uFF12'));
+ assertEquals("650 2532", formatter.inputDigit('\uFF12'));
assertEquals("650 253 22", formatter.inputDigit('\uFF12'));
assertEquals("650 253 222", formatter.inputDigit('\uFF12'));
assertEquals("650 253 2222", formatter.inputDigit('\uFF12'));
}
- public void testAsYouTypeFormatterUSMobileShortCode() {
+ public void testAYTFUSMobileShortCode() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("US");
assertEquals("*", formatter.inputDigit('*'));
assertEquals("*1", formatter.inputDigit('1'));
assertEquals("*121#", formatter.inputDigit('#'));
}
- public void testAsYouTypeFormatterUSVanityNumber() {
+ public void testAYTFUSVanityNumber() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("US");
assertEquals("8", formatter.inputDigit('8'));
assertEquals("80", formatter.inputDigit('0'));
assertEquals("800 MY APPLE", formatter.inputDigit('E'));
}
- public void testAsYouTypeFormatterAndRememberPositionUS() {
- AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("US");
+ public void testAYTFAndRememberPositionUS() {
+ AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("US");
assertEquals("1", formatter.inputDigitAndRememberPosition('1'));
assertEquals(1, formatter.getRememberedPosition());
assertEquals("16", formatter.inputDigit('6'));
- assertEquals("165", formatter.inputDigit('5'));
+ assertEquals("1 65", formatter.inputDigit('5'));
assertEquals(1, formatter.getRememberedPosition());
- assertEquals("1650", formatter.inputDigitAndRememberPosition('0'));
- assertEquals(4, formatter.getRememberedPosition());
- assertEquals("16502", formatter.inputDigit('2'));
+ assertEquals("1 650", formatter.inputDigitAndRememberPosition('0'));
+ assertEquals(5, formatter.getRememberedPosition());
+ assertEquals("1 650 2", formatter.inputDigit('2'));
assertEquals("1 650 25", formatter.inputDigit('5'));
// Note the remembered position for digit "0" changes from 4 to 5, because a space is now
// inserted in the front.
formatter.clear();
assertEquals("1", formatter.inputDigit('1'));
- assertEquals("16", formatter.inputDigit('6'));
- assertEquals("165", formatter.inputDigitAndRememberPosition('5'));
- assertEquals("1650", formatter.inputDigit('0'));
+ assertEquals("16", formatter.inputDigitAndRememberPosition('6'));
+ assertEquals(2, formatter.getRememberedPosition());
+ assertEquals("1 65", formatter.inputDigit('5'));
+ assertEquals("1 650", formatter.inputDigit('0'));
assertEquals(3, formatter.getRememberedPosition());
- assertEquals("16502", formatter.inputDigit('2'));
+ assertEquals("1 650 2", formatter.inputDigit('2'));
assertEquals("1 650 25", formatter.inputDigit('5'));
- assertEquals(4, formatter.getRememberedPosition());
+ assertEquals(3, formatter.getRememberedPosition());
assertEquals("1 650 253", formatter.inputDigit('3'));
assertEquals("1 650 253 2", formatter.inputDigit('2'));
assertEquals("1 650 253 22", formatter.inputDigit('2'));
- assertEquals(4, formatter.getRememberedPosition());
+ assertEquals(3, formatter.getRememberedPosition());
assertEquals("1 650 253 222", formatter.inputDigit('2'));
assertEquals("1 650 253 2222", formatter.inputDigit('2'));
assertEquals("165025322222", formatter.inputDigit('2'));
- assertEquals(3, formatter.getRememberedPosition());
+ assertEquals(2, formatter.getRememberedPosition());
assertEquals("1650253222222", formatter.inputDigit('2'));
- assertEquals(3, formatter.getRememberedPosition());
+ assertEquals(2, formatter.getRememberedPosition());
formatter.clear();
assertEquals("6", formatter.inputDigit('6'));
assertEquals("65", formatter.inputDigit('5'));
assertEquals("650", formatter.inputDigit('0'));
- assertEquals("6502", formatter.inputDigit('2'));
- assertEquals("65025", formatter.inputDigitAndRememberPosition('5'));
- assertEquals(5, formatter.getRememberedPosition());
+ assertEquals("650 2", formatter.inputDigit('2'));
+ assertEquals("650 25", formatter.inputDigit('5'));
assertEquals("650 253", formatter.inputDigit('3'));
- assertEquals(6, formatter.getRememberedPosition());
- assertEquals("650 253 2", formatter.inputDigit('2'));
+ assertEquals("650 2532", formatter.inputDigitAndRememberPosition('2'));
+ assertEquals(8, formatter.getRememberedPosition());
assertEquals("650 253 22", formatter.inputDigit('2'));
+ assertEquals(9, formatter.getRememberedPosition());
assertEquals("650 253 222", formatter.inputDigit('2'));
// No more formatting when semicolon is entered.
assertEquals("650253222;", formatter.inputDigit(';'));
- assertEquals(5, formatter.getRememberedPosition());
+ assertEquals(7, formatter.getRememberedPosition());
assertEquals("650253222;2", formatter.inputDigit('2'));
formatter.clear();
formatter.clear();
assertEquals("0", formatter.inputDigit('0'));
assertEquals("01", formatter.inputDigit('1'));
- assertEquals("011", formatter.inputDigit('1'));
- assertEquals("0114", formatter.inputDigitAndRememberPosition('4'));
- assertEquals("01148", formatter.inputDigit('8'));
- assertEquals(4, formatter.getRememberedPosition());
+ assertEquals("011 ", formatter.inputDigit('1'));
+ assertEquals("011 4", formatter.inputDigitAndRememberPosition('4'));
+ assertEquals("011 48 ", formatter.inputDigit('8'));
+ assertEquals(5, formatter.getRememberedPosition());
assertEquals("011 48 8", formatter.inputDigit('8'));
assertEquals(5, formatter.getRememberedPosition());
assertEquals("011 48 88", formatter.inputDigit('8'));
- assertEquals("011 48 881", formatter.inputDigit('1'));
+ assertEquals("011 48 88 1", formatter.inputDigit('1'));
assertEquals("011 48 88 12", formatter.inputDigit('2'));
assertEquals(5, formatter.getRememberedPosition());
assertEquals("011 48 88 123", formatter.inputDigit('3'));
formatter.clear();
assertEquals("+", formatter.inputDigit('+'));
assertEquals("+1", formatter.inputDigit('1'));
- assertEquals("+16", formatter.inputDigitAndRememberPosition('6'));
- assertEquals("+165", formatter.inputDigit('5'));
- assertEquals("+1650", formatter.inputDigit('0'));
- assertEquals(3, formatter.getRememberedPosition());
+ assertEquals("+1 6", formatter.inputDigitAndRememberPosition('6'));
+ assertEquals("+1 65", formatter.inputDigit('5'));
+ assertEquals("+1 650", formatter.inputDigit('0'));
+ assertEquals(4, formatter.getRememberedPosition());
assertEquals("+1 650 2", formatter.inputDigit('2'));
assertEquals(4, formatter.getRememberedPosition());
assertEquals("+1 650 25", formatter.inputDigit('5'));
formatter.clear();
assertEquals("+", formatter.inputDigit('+'));
assertEquals("+1", formatter.inputDigit('1'));
- assertEquals("+16", formatter.inputDigitAndRememberPosition('6'));
- assertEquals("+165", formatter.inputDigit('5'));
- assertEquals("+1650", formatter.inputDigit('0'));
- assertEquals(3, formatter.getRememberedPosition());
+ assertEquals("+1 6", formatter.inputDigitAndRememberPosition('6'));
+ assertEquals("+1 65", formatter.inputDigit('5'));
+ assertEquals("+1 650", formatter.inputDigit('0'));
+ assertEquals(4, formatter.getRememberedPosition());
assertEquals("+1 650 2", formatter.inputDigit('2'));
assertEquals(4, formatter.getRememberedPosition());
assertEquals("+1 650 25", formatter.inputDigit('5'));
assertEquals(3, formatter.getRememberedPosition());
}
- public void testAsYouTypeFormatterGBFixedLine() {
+ public void testAYTFGBFixedLine() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("GB");
assertEquals("0", formatter.inputDigit('0'));
assertEquals("02", formatter.inputDigit('2'));
assertEquals("020", formatter.inputDigit('0'));
- assertEquals("0207", formatter.inputDigitAndRememberPosition('7'));
- assertEquals(4, formatter.getRememberedPosition());
- assertEquals("02070", formatter.inputDigit('0'));
+ assertEquals("020 7", formatter.inputDigitAndRememberPosition('7'));
+ assertEquals(5, formatter.getRememberedPosition());
+ assertEquals("020 70", formatter.inputDigit('0'));
assertEquals("020 703", formatter.inputDigit('3'));
assertEquals(5, formatter.getRememberedPosition());
assertEquals("020 7031", formatter.inputDigit('1'));
assertEquals("020 7031 3000", formatter.inputDigit('0'));
}
- public void testAsYouTypeFormatterGBTollFree() {
+ public void testAYTFGBTollFree() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("gb");
assertEquals("0", formatter.inputDigit('0'));
assertEquals("08", formatter.inputDigit('8'));
assertEquals("080", formatter.inputDigit('0'));
- assertEquals("0807", formatter.inputDigit('7'));
- assertEquals("08070", formatter.inputDigit('0'));
+ assertEquals("080 7", formatter.inputDigit('7'));
+ assertEquals("080 70", formatter.inputDigit('0'));
assertEquals("080 703", formatter.inputDigit('3'));
assertEquals("080 7031", formatter.inputDigit('1'));
assertEquals("080 7031 3", formatter.inputDigit('3'));
assertEquals("080 7031 3000", formatter.inputDigit('0'));
}
- public void testAsYouTypeFormatterGBPremiumRate() {
+ public void testAYTFGBPremiumRate() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("GB");
assertEquals("0", formatter.inputDigit('0'));
assertEquals("09", formatter.inputDigit('9'));
assertEquals("090", formatter.inputDigit('0'));
- assertEquals("0907", formatter.inputDigit('7'));
- assertEquals("09070", formatter.inputDigit('0'));
+ assertEquals("090 7", formatter.inputDigit('7'));
+ assertEquals("090 70", formatter.inputDigit('0'));
assertEquals("090 703", formatter.inputDigit('3'));
assertEquals("090 7031", formatter.inputDigit('1'));
assertEquals("090 7031 3", formatter.inputDigit('3'));
assertEquals("090 7031 3000", formatter.inputDigit('0'));
}
- public void testAsYouTypeFormatterNZMobile() {
+ public void testAYTFNZMobile() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("NZ");
assertEquals("0", formatter.inputDigit('0'));
assertEquals("02", formatter.inputDigit('2'));
assertEquals("021", formatter.inputDigit('1'));
- assertEquals("0211", formatter.inputDigit('1'));
- assertEquals("02112", formatter.inputDigit('2'));
+ assertEquals("02-11", formatter.inputDigit('1'));
+ assertEquals("02-112", formatter.inputDigit('2'));
// Note the unittest is using fake metadata which might produce non-ideal results.
assertEquals("02-112 3", formatter.inputDigit('3'));
assertEquals("02-112 34", formatter.inputDigit('4'));
assertEquals("02-112 3456", formatter.inputDigit('6'));
}
- public void testAsYouTypeFormatterDE() {
+ public void testAYTFDE() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("DE");
assertEquals("0", formatter.inputDigit('0'));
assertEquals("03", formatter.inputDigit('3'));
assertEquals("030", formatter.inputDigit('0'));
- assertEquals("0301", formatter.inputDigit('1'));
- assertEquals("03012", formatter.inputDigit('2'));
+ assertEquals("030 1", formatter.inputDigit('1'));
+ assertEquals("030 12", formatter.inputDigit('2'));
assertEquals("030 123", formatter.inputDigit('3'));
assertEquals("030 1234", formatter.inputDigit('4'));
+
+ // 08021 2345
+ formatter.clear();
+ assertEquals("0", formatter.inputDigit('0'));
+ assertEquals("08", formatter.inputDigit('8'));
+ assertEquals("080", formatter.inputDigit('0'));
+ assertEquals("0802", formatter.inputDigit('2'));
+ assertEquals("08021", formatter.inputDigit('1'));
+ assertEquals("08021 2", formatter.inputDigit('2'));
+ assertEquals("08021 23", formatter.inputDigit('3'));
+ assertEquals("08021 234", formatter.inputDigit('4'));
+ assertEquals("08021 2345", formatter.inputDigit('5'));
+
+ // 00 1 650 253 2250
+ formatter.clear();
+ assertEquals("0", formatter.inputDigit('0'));
+ assertEquals("00", formatter.inputDigit('0'));
+ assertEquals("00 1 ", formatter.inputDigit('1'));
+ assertEquals("00 1 6", formatter.inputDigit('6'));
+ assertEquals("00 1 65", formatter.inputDigit('5'));
+ assertEquals("00 1 650", formatter.inputDigit('0'));
+ assertEquals("00 1 650 2", formatter.inputDigit('2'));
+ assertEquals("00 1 650 25", formatter.inputDigit('5'));
+ assertEquals("00 1 650 253", formatter.inputDigit('3'));
+ assertEquals("00 1 650 253 2", formatter.inputDigit('2'));
+ assertEquals("00 1 650 253 22", formatter.inputDigit('2'));
+ assertEquals("00 1 650 253 222", formatter.inputDigit('2'));
+ assertEquals("00 1 650 253 2222", formatter.inputDigit('2'));
}
- public void testAsYouTypeFormatterAR() {
+ public void testAYTFAR() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("AR");
assertEquals("0", formatter.inputDigit('0'));
assertEquals("01", formatter.inputDigit('1'));
assertEquals("011", formatter.inputDigit('1'));
- assertEquals("0117", formatter.inputDigit('7'));
- assertEquals("01170", formatter.inputDigit('0'));
+ assertEquals("011 7", formatter.inputDigit('7'));
+ assertEquals("011 70", formatter.inputDigit('0'));
assertEquals("011 703", formatter.inputDigit('3'));
assertEquals("011 7031", formatter.inputDigit('1'));
assertEquals("011 7031-3", formatter.inputDigit('3'));
assertEquals("011 7031-3000", formatter.inputDigit('0'));
}
- public void testAsYouTypeFormatterARMobile() {
+ public void testAYTFARMobile() {
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("AR");
assertEquals("+", formatter.inputDigit('+'));
assertEquals("+5", formatter.inputDigit('5'));
- assertEquals("+54", formatter.inputDigit('4'));
- assertEquals("+549", formatter.inputDigit('9'));
- assertEquals("+5491", formatter.inputDigit('1'));
- assertEquals("+54 911", formatter.inputDigit('1'));
- assertEquals("+54 9 11 2", formatter.inputDigit('2'));
+ assertEquals("+54 ", formatter.inputDigit('4'));
+ assertEquals("+54 9", formatter.inputDigit('9'));
+ assertEquals("+54 91", formatter.inputDigit('1'));
+ assertEquals("+54 9 11", formatter.inputDigit('1'));
+ assertEquals("+54 9 11 2",
+ formatter.inputDigit('2'));
assertEquals("+54 9 11 23", formatter.inputDigit('3'));
assertEquals("+54 9 11 231", formatter.inputDigit('1'));
assertEquals("+54 9 11 2312", formatter.inputDigit('2'));
assertEquals("+54 9 11 2312 1234", formatter.inputDigit('4'));
}
- public void testAsYouTypeFormatterKR() {
+ public void testAYTFKR() {
// +82 51 234 5678
AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("KR");
assertEquals("+", formatter.inputDigit('+'));
assertEquals("+8", formatter.inputDigit('8'));
- assertEquals("+82", formatter.inputDigit('2'));
- assertEquals("+825", formatter.inputDigit('5'));
- assertEquals("+8251", formatter.inputDigit('1'));
- assertEquals("+82 512", formatter.inputDigit('2'));
+ assertEquals("+82 ", formatter.inputDigit('2'));
+ assertEquals("+82 5", formatter.inputDigit('5'));
+ assertEquals("+82 51", formatter.inputDigit('1'));
+ assertEquals("+82 51-2", formatter.inputDigit('2'));
assertEquals("+82 51-23", formatter.inputDigit('3'));
assertEquals("+82 51-234", formatter.inputDigit('4'));
assertEquals("+82 51-234-5", formatter.inputDigit('5'));
formatter.clear();
assertEquals("+", formatter.inputDigit('+'));
assertEquals("+8", formatter.inputDigit('8'));
- assertEquals("+82", formatter.inputDigit('2'));
- assertEquals("+822", formatter.inputDigit('2'));
- assertEquals("+8225", formatter.inputDigit('5'));
- assertEquals("+82 253", formatter.inputDigit('3'));
+ assertEquals("+82 ", formatter.inputDigit('2'));
+ assertEquals("+82 2", formatter.inputDigit('2'));
+ assertEquals("+82 25", formatter.inputDigit('5'));
+ assertEquals("+82 2-53", formatter.inputDigit('3'));
assertEquals("+82 2-531", formatter.inputDigit('1'));
assertEquals("+82 2-531-5", formatter.inputDigit('5'));
assertEquals("+82 2-531-56", formatter.inputDigit('6'));
formatter.clear();
assertEquals("+", formatter.inputDigit('+'));
assertEquals("+8", formatter.inputDigit('8'));
- assertEquals("+82", formatter.inputDigit('2'));
- assertEquals("+822", formatter.inputDigit('2'));
- assertEquals("+8223", formatter.inputDigit('3'));
- assertEquals("+82 236", formatter.inputDigit('6'));
+ assertEquals("+82 ", formatter.inputDigit('2'));
+ assertEquals("+82 2", formatter.inputDigit('2'));
+ assertEquals("+82 23", formatter.inputDigit('3'));
+ assertEquals("+82 2-36", formatter.inputDigit('6'));
assertEquals("+82 2-366", formatter.inputDigit('6'));
assertEquals("+82 2-3665", formatter.inputDigit('5'));
assertEquals("+82 2-3665-5", formatter.inputDigit('5'));
assertEquals("+82 2-3665-567", formatter.inputDigit('7'));
assertEquals("+82 2-3665-5678", formatter.inputDigit('8'));
- // 02-114 : This is too short to format. Checking that there are no side-effects.
+ // 02-114
formatter.clear();
assertEquals("0", formatter.inputDigit('0'));
assertEquals("02", formatter.inputDigit('2'));
assertEquals("021", formatter.inputDigit('1'));
- assertEquals("0211", formatter.inputDigit('1'));
- assertEquals("02114", formatter.inputDigit('4'));
+ assertEquals("02-11", formatter.inputDigit('1'));
+ assertEquals("02-114", formatter.inputDigit('4'));
// 02-1300
formatter.clear();
assertEquals("0", formatter.inputDigit('0'));
assertEquals("02", formatter.inputDigit('2'));
assertEquals("021", formatter.inputDigit('1'));
- assertEquals("0213", formatter.inputDigit('3'));
- assertEquals("02130", formatter.inputDigit('0'));
+ assertEquals("02-13", formatter.inputDigit('3'));
+ assertEquals("02-130", formatter.inputDigit('0'));
assertEquals("02-1300", formatter.inputDigit('0'));
// 011-456-7890
assertEquals("0", formatter.inputDigit('0'));
assertEquals("01", formatter.inputDigit('1'));
assertEquals("011", formatter.inputDigit('1'));
- assertEquals("0114", formatter.inputDigit('4'));
- assertEquals("01145", formatter.inputDigit('5'));
+ assertEquals("011-4", formatter.inputDigit('4'));
+ assertEquals("011-45", formatter.inputDigit('5'));
assertEquals("011-456", formatter.inputDigit('6'));
assertEquals("011-456-7", formatter.inputDigit('7'));
assertEquals("011-456-78", formatter.inputDigit('8'));
assertEquals("0", formatter.inputDigit('0'));
assertEquals("01", formatter.inputDigit('1'));
assertEquals("011", formatter.inputDigit('1'));
- assertEquals("0119", formatter.inputDigit('9'));
- assertEquals("01198", formatter.inputDigit('8'));
+ assertEquals("011-9", formatter.inputDigit('9'));
+ assertEquals("011-98", formatter.inputDigit('8'));
assertEquals("011-987", formatter.inputDigit('7'));
assertEquals("011-9876", formatter.inputDigit('6'));
assertEquals("011-9876-7", formatter.inputDigit('7'));
assertEquals("011-9876-789", formatter.inputDigit('9'));
assertEquals("011-9876-7890", formatter.inputDigit('0'));
}
+
+ public void testAYTFMultipleLeadingDigitPatterns() {
+ // +81 50 2345 6789
+ AsYouTypeFormatter formatter = phoneUtil.getAsYouTypeFormatter("JP");
+ assertEquals("+", formatter.inputDigit('+'));
+ assertEquals("+8", formatter.inputDigit('8'));
+ assertEquals("+81 ", formatter.inputDigit('1'));
+ assertEquals("+81 5", formatter.inputDigit('5'));
+ assertEquals("+81 50", formatter.inputDigit('0'));
+ assertEquals("+81 50 2", formatter.inputDigit('2'));
+ assertEquals("+81 50 23", formatter.inputDigit('3'));
+ assertEquals("+81 50 234", formatter.inputDigit('4'));
+ assertEquals("+81 50 2345", formatter.inputDigit('5'));
+ assertEquals("+81 50 2345 6", formatter.inputDigit('6'));
+ assertEquals("+81 50 2345 67", formatter.inputDigit('7'));
+ assertEquals("+81 50 2345 678", formatter.inputDigit('8'));
+ assertEquals("+81 50 2345 6789", formatter.inputDigit('9'));
+
+ // +81 222 12 5678
+ formatter.clear();
+ assertEquals("+", formatter.inputDigit('+'));
+ assertEquals("+8", formatter.inputDigit('8'));
+ assertEquals("+81 ", formatter.inputDigit('1'));
+ assertEquals("+81 2", formatter.inputDigit('2'));
+ assertEquals("+81 22", formatter.inputDigit('2'));
+ assertEquals("+81 22 2", formatter.inputDigit('2'));
+ assertEquals("+81 22 21", formatter.inputDigit('1'));
+ assertEquals("+81 2221 2", formatter.inputDigit('2'));
+ assertEquals("+81 222 12 5", formatter.inputDigit('5'));
+ assertEquals("+81 222 12 56", formatter.inputDigit('6'));
+ assertEquals("+81 222 12 567", formatter.inputDigit('7'));
+ assertEquals("+81 222 12 5678", formatter.inputDigit('8'));
+
+ // +81 3332 2 5678
+ formatter.clear();
+ assertEquals("+", formatter.inputDigit('+'));
+ assertEquals("+8", formatter.inputDigit('8'));
+ assertEquals("+81 ", formatter.inputDigit('1'));
+ assertEquals("+81 3", formatter.inputDigit('3'));
+ assertEquals("+81 33", formatter.inputDigit('3'));
+ assertEquals("+81 33 3", formatter.inputDigit('3'));
+ assertEquals("+81 3332", formatter.inputDigit('2'));
+ assertEquals("+81 3332 2", formatter.inputDigit('2'));
+ assertEquals("+81 3332 2 5", formatter.inputDigit('5'));
+ assertEquals("+81 3332 2 56", formatter.inputDigit('6'));
+ assertEquals("+81 3332 2 567", formatter.inputDigit('7'));
+ assertEquals("+81 3332 2 5678", formatter.inputDigit('8'));
+ }
}