blob: cc74b7d389de82044dac02d8011a7e0773706d48 [file] [log] [blame]
<!-- Copyright (C) 2009 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@author: Shaopeng Jia
MetaData on Phone Number Plan and formatting rules. This file is used
solely for the purpose of unittesting, so data in this file is not
necessarily consistent with that of
../resources/PhoneNumberMetaData.xml
-->
<phoneNumberMetadata>
<territories>
<!-- Andorra -->
<territory id="AD" countryCode="376" internationalPrefix="00">
</territory>
<!-- Angola -->
<!-- This country has been coopted to test the case of a national prefix
with a non-numeric symbol in it. -->
<territory id="AO" countryCode="244" internationalPrefix="00" nationalPrefix="0~0">
<availableFormats>
<numberFormat pattern="(\d{3})(\d{3})(\d{3})">
<format>$1 $2 $3</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[29]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>2\d(?:[26-9]\d|\d[26-9])\d{5}</nationalNumberPattern>
<exampleNumber>222123456</exampleNumber>
</fixedLine>
<mobile>
<!-- Expanded the 92 prefix possibilities to matchnumbers found online. -->
<nationalNumberPattern>9[1-3]\d{7}</nationalNumberPattern>
<exampleNumber>923123456</exampleNumber>
</mobile>
</territory>
<!-- Argentina -->
<territory id="AR" countryCode="54" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG"
nationalPrefixForParsing="0(?:(11|343|3715)15)?"
nationalPrefixTransformRule="9$1">
<!-- Note in nationalPrefixForParsing, the areacode (such as 11, 343, etc.), when present in
front of carrier selection code 15, is captured to replace $1 in
nationalPrefixTransformRule -->
<availableFormats>
<numberFormat pattern="(\d{2})(\d{4})(\d{4})">
<leadingDigits>11</leadingDigits>
<format>$1 $2-$3</format>
</numberFormat>
<numberFormat pattern="(\d{4})(\d{2})(\d{4})">
<leadingDigits>1[02-9]|[23]</leadingDigits>
<format>$1 $2-$3</format>
</numberFormat>
<numberFormat pattern="(9)(11)(\d{4})(\d{4})">
<leadingDigits>911</leadingDigits>
<format>$2 15 $3-$4</format>
<intlFormat>$1 $2 $3 $4</intlFormat>
</numberFormat>
<numberFormat pattern="(9)(\d{4})(\d{2})(\d{4})"
carrierCodeFormattingRule="$NP$FG $CC">
<leadingDigits>9(?:1[02-9]|[23])</leadingDigits>
<format>$2 $3-$4</format>
<intlFormat>$1 $2 $3 $4</intlFormat>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{4})">
<leadingDigits>[68]</leadingDigits>
<format>$1-$2-$3</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-3689]\d{9,10}</nationalNumberPattern>
<possibleNumberPattern>\d{6,11}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>[1-3]\d{9}</nationalNumberPattern>
<possibleNumberPattern>\d{6,10}</possibleNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>9\d{10}|[1-3]\d{9}</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>80\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>6(0\d|10)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- Australia -->
<territory id="AU" countryCode="61" internationalPrefix="001[12]"
nationalPrefix="0" preferredInternationalPrefix="0011"
nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<numberFormat nationalPrefixFormattingRule="$FG"
pattern="(\d{4})(\d{3})(\d{3})" >
<leadingDigits>1</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{1})(\d{4})(\d{4})">
<leadingDigits>[2-478]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
</availableFormats>
<generalDesc >
<nationalNumberPattern>[1-578]\d{4,14}</nationalNumberPattern>
<possibleNumberPattern>\d{5,15}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>[2378]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>4\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>1800\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>190[0126]\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- Bahamas -->
<territory id="BS" countryCode="1" internationalPrefix="011"
nationalPrefix="1">
<generalDesc>
<nationalNumberPattern>(242|8(00|66|77|88)|900)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{7,10}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3-57]|9[2-5])|4(?:2[237]|51|64|77)|502|636|702)\d{4}</nationalNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>242(357|359|457|557)\d{4}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>8(00|66|77|88)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- Germany -->
<territory id="DE" countryCode="49" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<numberFormat pattern="(\d{3})(\d{3,8})">
<leadingDigits>2|3[3-9]|906|[4-9][1-9]1</leadingDigits>
<format>$1 $2</format>
</numberFormat>
<numberFormat pattern="(\d{2})(\d{4,9})">
<leadingDigits>[34]0|[68]9</leadingDigits>
<format>$1/$2</format>
</numberFormat>
<!-- Extra fictional pattern for shorter numbers with the same prefixes as the following
pattern, to illustrate the problem the AYTF has with real patterns that share this
property. -->
<numberFormat pattern="([4-9]\d)(\d{2})">
<leadingDigits>[4-9]</leadingDigits>
<leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits>
<format>$1 $2</format>
</numberFormat>
<numberFormat pattern="([4-9]\d{3})(\d{2,7})">
<leadingDigits>[4-9]</leadingDigits>
<leadingDigits>[4-6]|[7-9](?:\d[1-9]|[1-9]\d)</leadingDigits>
<format>$1 $2</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{1})(\d{6})">
<leadingDigits>800</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3,4})(\d{4})">
<leadingDigits>900</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{4,14}</nationalNumberPattern>
<possibleNumberPattern>\d{2,14}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>(?:[24-6]\d{2}|3[03-9]\d|[789](?:[1-9]\d|0[2-9]))\d{3,8}</nationalNumberPattern>
<exampleNumber>30123456</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>1(5\d{9}|7\d{8}|6[02]\d{8}|63\d{7})</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>900([135]\d{6}|9\d{7})</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- United Kingdom -->
<territory id="GB" countryCode="44" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="($NP$FG)">
<availableFormats>
<numberFormat pattern="(\d{2})(\d{4})(\d{4})">
<leadingDigits>[1-59]|[78]0</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d)(\d{3})(\d{3})(\d{3})">
<leadingDigits>6</leadingDigits>
<format>$1 $2 $3 $4</format>
</numberFormat>
<numberFormat pattern="(\d{4})(\d{3})(\d{3})">
<leadingDigits>7[1-57-9]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{4})">
<leadingDigits>8[47]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>\d{10}</nationalNumberPattern>
<possibleNumberPattern>\d{6,10}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>[1-6]\d{9}</nationalNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>7[1-57-9]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>80\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>9[018]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</premiumRate>
<sharedCost>
<nationalNumberPattern>8(?:4[3-5]|7[0-2])\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</sharedCost>
<voip>
<nationalNumberPattern>56\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</voip>
<personalNumber>
<nationalNumberPattern>70\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</personalNumber>
</territory>
<!-- Italy -->
<!-- http://en.wikipedia.org/wiki/%2B39 -->
<territory id="IT" countryCode="39" internationalPrefix="00" leadingZeroPossible="true">
<availableFormats>
<numberFormat pattern="(\d{2})(\d{4})(\d{4})">
<leadingDigits>0[26]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{4})(\d{3,4})">
<leadingDigits>0[13-57-9]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
<leadingDigits>3</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3,6})">
<leadingDigits>8</leadingDigits>
<format>$1 $2</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[0389]\d{5,10}</nationalNumberPattern>
<possibleNumberPattern>\d{6,11}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>0\d{9,10}</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>3\d{8,9}</nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>80(?:0\d{6}|3\d{3})</nationalNumberPattern>
<possibleNumberPattern>\d{6,9}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>89(?:2\d{3}|9\d{6})</nationalNumberPattern>
<possibleNumberPattern>\d{6,9}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- Japan -->
<!-- The metadata here is added to unit test AsYouTypeFormatter for JP, which requires switching
patterns as digits beyond the third one are entered. As a result, only a few fake
formatting rules are added. -->
<territory id="JP" countryCode="81" internationalPrefix="010"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<numberFormat pattern="(\d{2})(\d{4})(\d{4})">
<leadingDigits>[57-9]0</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{2})(\d{2})(\d{3})(\d{4})">
<leadingDigits>[57-9]0</leadingDigits>
<format>$1 $2 $3 $4</format>
</numberFormat>
<numberFormat pattern="(\d{2})(\d{3})(\d{4})">
<leadingDigits>222|333</leadingDigits>
<leadingDigits>(?:222|333)1</leadingDigits>
<leadingDigits>(?:222|333)11</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{4})(\d)(\d{4})">
<leadingDigits>222|333</leadingDigits>
<leadingDigits>2221|3332</leadingDigits>
<leadingDigits>22212|3332</leadingDigits>
<leadingDigits>222120|3332</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{2})(\d{4})">
<leadingDigits>[23]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<!-- The following numberFormat is added to test that the format containing the star sign is
not used by the AYTF. -->
<numberFormat pattern="(\d{4})">
<leadingDigits>[23]</leadingDigits>
<format>*$1</format>
</numberFormat>
</availableFormats>
</territory>
<!-- Korea (Rep. of) -->
<!-- http://www.itu.int/oth/T0202000072/en -->
<!-- http://en.wikipedia.org/wiki/%2B82 -->
<!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2349 -->
<!-- http://www.kcc.go.kr/user.do?mode=view&page=P02030300&dc=K02030300&boardId=1074&boardSeq=2240 -->
<!-- http://www.telecentro.co.kr/sub/index.php?job=detail&ebcf_id=faq&page=1&mid=0503&eb_seq=36 -->
<!-- Exceptions :
internationalPrefix
0031, 0033, 0071, 0073 - Special services of KT and DACOM, ignorable
nationalPrefix
1[4-6]XX-YYYY - Country-wide common number services, display as it is without hyphens -->
<territory id="KR" countryCode="82" internationalPrefix="00(?:[124-68]|[37]\d{2})"
nationalPrefix="0" nationalPrefixForParsing="0(8[1-46-8]|85\d{2})?"
nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<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})">
<leadingDigits>21[0-46-9]</leadingDigits>
<leadingDigits>21(?:[0-247-9]|3[124]|6[1269])</leadingDigits>
<format>$1-$2</format>
</numberFormat>
<numberFormat pattern="(\d)(\d{4})">
<leadingDigits>21[36]</leadingDigits>
<leadingDigits>21(?:3[035-9]|6[03-578])</leadingDigits>
<format>$1-$2</format>
</numberFormat>
<numberFormat pattern="(\d{2})(\d{3})">
<leadingDigits>[3-9][1-9]1</leadingDigits>
<leadingDigits>[3-9][1-9]1(?:[0-46-9])</leadingDigits>
<leadingDigits>[3-9][1-9]1(?:[0-247-9]|3[124]|6[1269])</leadingDigits>
<format>$1-$2</format>
</numberFormat>
<numberFormat pattern="(\d{2})(\d{4})">
<leadingDigits>[3-9][1-9]1</leadingDigits>
<leadingDigits>[3-9][1-9]1[36]</leadingDigits>
<leadingDigits>[3-9][1-9]1(?:3[035-9]|6[03-578])</leadingDigits>
<format>$1-$2</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-79]\d{3,9}|8\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{4,10}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\d{2,3}|[2-9]\d{6,7})</nationalNumberPattern>
<possibleNumberPattern>\d{4,10}</possibleNumberPattern>
<exampleNumber>22123456</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>1[0-25-9]\d{7,8}</nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
<exampleNumber>1023456789</exampleNumber>
</mobile>
<tollFree>
<nationalNumberPattern>80\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<exampleNumber>801234567</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>60[2-9]\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<exampleNumber>602345678</exampleNumber>
</premiumRate>
<personalNumber>
<nationalNumberPattern>50\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<exampleNumber>5012345678</exampleNumber>
</personalNumber>
<voip>
<nationalNumberPattern>70\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
<exampleNumber>7012345678</exampleNumber>
</voip>
</territory>
<!-- Mexico -->
<territory id="MX" countryCode="52" internationalPrefix="00"
nationalPrefix="01" nationalPrefixForParsing="01|04[45](\d{10})"
nationalPrefixTransformRule="1$1" nationalPrefixFormattingRule="$NP $FG">
<availableFormats>
<numberFormat pattern="(\d{3})(\d{3})(\d{4})">
<leadingDigits>[89]00</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{2})(\d{4})(\d{4})">
<leadingDigits>33|55|81</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{4})">
<leadingDigits>[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat nationalPrefixFormattingRule="$FG" pattern="(1)(\d{2})(\d{4})(\d{4})">
<leadingDigits>1(?:33|55|81)</leadingDigits>
<format>045 $2 $3 $4</format>
<intlFormat>$1 $2 $3 $4</intlFormat>
</numberFormat>
<numberFormat nationalPrefixFormattingRule="$FG" pattern="(1)(\d{3})(\d{3})(\d{4})">
<leadingDigits>1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])</leadingDigits>
<format>045 $2 $3 $4</format>
<intlFormat>$1 $2 $3 $4</intlFormat>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{9,10}</nationalNumberPattern>
<possibleNumberPattern>\d{7,11}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>[2-9]\d{9}</nationalNumberPattern>
<possibleNumberPattern>\d{7,10}</possibleNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>1\d{10}</nationalNumberPattern>
<possibleNumberPattern>\d{11}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- New Zealand -->
<territory id="NZ" countryCode="64" internationalPrefix="00"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<numberFormat pattern="(\d)(\d{3})(\d{4})">
<leadingDigits>24|[34679]</leadingDigits>
<format>$1-$2 $3</format>
</numberFormat>
<numberFormat pattern="(\d)(\d{3})(\d{3,5})">
<leadingDigits>2[179]</leadingDigits>
<format>$1-$2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{3,4})">
<leadingDigits>[89]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>
[289]\d{7,9}|
[3-7]\d{7}
</nationalNumberPattern>
<possibleNumberPattern>\d{7,10}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>24099\d{3}|(?:3[2-79]|[479][2-689]|6[235-9])\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{7,8}</possibleNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>2(?:[027]\d{7}|9\d{6,7}|1(?:0\d{5,7}|[12]\d{5,6}|[3-9]\d{5})|4[1-9]\d{6}|8\d{7,8})</nationalNumberPattern>
<possibleNumberPattern>\d{8,10}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{6,7}</nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{6,7}</nationalNumberPattern>
<possibleNumberPattern>\d{9,10}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- Poland -->
<!-- http://en.wikipedia.org/wiki/%2B48 -->
<territory id="PL" countryCode="48" internationalPrefix="0~0"
nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<numberFormat pattern="(\d{2})(\d{3})(\d{2})(\d{2})">
<format>$1 $2 $3 $4</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[1-9]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
</generalDesc>
<mobile>
<nationalNumberPattern>(?:5[01]|6[069]|7[289]|88)\d{7}</nationalNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>800\d{6}</nationalNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>70\d{7}</nationalNumberPattern>
</premiumRate>
</territory>
<!-- Réunion (French Departments and Territories in the Indian Ocean) -->
<!-- Note this shares the same country code as La Mayotte and French
Southern Territories, and the formatting patterns here are used by all of
them. This is present to test leadingDigits. -->
<territory id="RE" countryCode="262" leadingDigits="262|6(?:9[23]|47)|8"
internationalPrefix="00" nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<availableFormats>
<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>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<!-- 0876 numbers are mentioned in the plan, but none in use can be
found. -->
<nationalNumberPattern>262\d{6}</nationalNumberPattern>
<exampleNumber>262161234</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>6(?:9[23]|47)\d{6}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
<exampleNumber>692123456</exampleNumber>
</mobile>
<!-- 08* Numbers in Réunion are the same as those valid in France. -->
<tollFree>
<nationalNumberPattern>80\d{7}</nationalNumberPattern>
<exampleNumber>801234567</exampleNumber>
</tollFree>
<premiumRate>
<nationalNumberPattern>8(?:1[01]|2[0156]|84|9[0-37-9])\d{6}</nationalNumberPattern>
<exampleNumber>810123456</exampleNumber>
</premiumRate>
</territory>
<!-- Singapore -->
<!-- http://www.ida.gov.sg/policies%20and%20regulation/20060508120124.aspx -->
<territory id="SG" countryCode="65" internationalPrefix="0[0-3][0-9]">
<availableFormats>
<numberFormat pattern="(\d{4})(\d{4})">
<leadingDigits>[369]|8[1-9]</leadingDigits>
<format>$1 $2</format>
</numberFormat>
<numberFormat pattern="(\d{4})(\d{3})(\d{4})">
<leadingDigits>1[89]</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{4})">
<leadingDigits>800</leadingDigits>
<format>$1 $2 $3</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[13689]\d{7,10}</nationalNumberPattern>
<!-- This specific pattern with the | is used to unit-test IsPossibleNumberWithReason. -->
<possibleNumberPattern>
\d{8}|
\d{10,11}
</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>[36]\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{8}</possibleNumberPattern>
</fixedLine>
<mobile>
<nationalNumberPattern>[89]\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{8}</possibleNumberPattern>
</mobile>
<tollFree>
<nationalNumberPattern>1?800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10,11}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>1900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{11}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- United States -->
<!-- http://www.nanpa.com/reports/reports_npa.html -->
<!-- For testing purposes, numbers starting with 24 are not considered US
numbers.-->
<territory id="US" countryCode="1" internationalPrefix="011"
preferredExtnPrefix=" extn. " nationalPrefix="1"
mainCountryForCode="true" >
<availableFormats>
<numberFormat pattern="(\d{3})(\d{4})">
<format>$1 $2</format>
<intlFormat>NA</intlFormat>
</numberFormat>
<numberFormat pattern="(\d{3})(\d{3})(\d{4})">
<format>$1 $2 $3</format>
</numberFormat>
</availableFormats>
<generalDesc>
<nationalNumberPattern>[13-9]\d{9}|2[0-35-9]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern>
<exampleNumber>1234567890</exampleNumber>
</generalDesc>
<noInternationalDialling>
<!-- This range is added for testing purposes only. -->
<nationalNumberPattern>800\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</noInternationalDialling>
<tollFree>
<nationalNumberPattern>8(?:00|66|77|88)\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</tollFree>
<premiumRate>
<nationalNumberPattern>900\d{7}</nationalNumberPattern>
<possibleNumberPattern>\d{10}</possibleNumberPattern>
</premiumRate>
</territory>
<!-- Mayotte -->
<territory id="YT" countryCode="262" leadingDigits="269|639"
internationalPrefix="00" nationalPrefix="0" nationalPrefixFormattingRule="$NP$FG">
<!-- Formatting as per La Réunion. -->
<generalDesc>
<nationalNumberPattern>[268]\d{8}</nationalNumberPattern>
<possibleNumberPattern>\d{9}</possibleNumberPattern>
</generalDesc>
<fixedLine>
<nationalNumberPattern>2696[0-4]\d{4}</nationalNumberPattern>
<exampleNumber>269601234</exampleNumber>
</fixedLine>
<mobile>
<nationalNumberPattern>639\d{6}</nationalNumberPattern>
<exampleNumber>639123456</exampleNumber>
</mobile>
<!-- Same as in France. -->
<tollFree>
<nationalNumberPattern>80\d{7}</nationalNumberPattern>
<exampleNumber>801234567</exampleNumber>
</tollFree>
</territory>
</territories>
</phoneNumberMetadata>