Browse Source

Update JS project to Java version r53. Patch submitted by tronikos.

pull/567/head
Shaopeng Jia 16 years ago
committed by Mihaela Rosca
parent
commit
6f875ace84
7 changed files with 223 additions and 125 deletions
  1. +1
    -1
      javascript/README
  2. +4
    -0
      javascript/i18n/phonenumbers/asyoutypeformatter.js
  3. +79
    -61
      javascript/i18n/phonenumbers/metadata.js
  4. +2
    -2
      javascript/i18n/phonenumbers/metadatafortesting.js
  5. +79
    -61
      javascript/i18n/phonenumbers/metadatalite.js
  6. +43
    -0
      javascript/i18n/phonenumbers/phonenumberutil.js
  7. +15
    -0
      javascript/i18n/phonenumbers/phonenumberutil_test.js

+ 1
- 1
javascript/README View File

@ -25,7 +25,7 @@ pages with your web browser:
How to update:
==============
The JavaScript library is ported from the Java implementation (revision 46).
The JavaScript library is ported from the Java implementation (revision 53).
When the Java project gets updated follow these steps to update the JavaScript
project:


+ 4
- 0
javascript/i18n/phonenumbers/asyoutypeformatter.js View File

@ -622,6 +622,10 @@ i18n.phonenumbers.AsYouTypeFormatter.prototype.
/** @type {Array.<string>} */
var m = nationalNumber.match(this.nationalPrefixForParsing_);
if (m != null && m[0] != null && m[0].length > 0) {
// When the national prefix is detected, we use international formatting
// rules instead of national ones, because national formatting rules could
// contain local formatting rules for numbers entered without area code.
this.isInternationalFormatting_ = true;
startOfNationalNumber = m[0].length;
this.prefixBeforeNationalNumber_.append(nationalNumber.substring(0,
startOfNationalNumber));


+ 79
- 61
javascript/i18n/phonenumbers/metadata.js View File

@ -293,7 +293,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"26848[01]\\d{4}","\\d{10}",,,"2684801234"]
,"AG",1,"011",,,,,,,,,,,,"268"]
,"AG",1,"011","1",,,"1",,,,,,,,"268"]
,"AI":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7,10}",,,"2644612345"]
,[,,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}","\\d{10}",,,"2642351234"]
@ -302,7 +302,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AI",1,"011",,,,,,,,,,,,"264"]
,"AI",1,"011","1",,,"1",,,,,,,,"264"]
,"AL":[,[,,"[2-57]\\d{7}|6\\d{8}|8\\d{5,7}|9\\d{5}","\\d{5,9}"]
,[,,"(?:2(?:[168][1-9]|[247]\\d|9[1-7])|3(?:1[1-3]|[2-6]\\d|[79][1-8]|8[1-9])|4\\d{2}|5(?:1[1-4]|[2-578]\\d|6[1-5]|9[1-7])|8(?:[19][1-5]|[2-6]\\d|[78][1-7]))\\d{5}","\\d{5,8}",,,"22345678"]
,[,,"6[6-9]\\d{7}","\\d{9}",,,"661234567"]
@ -321,24 +321,36 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
]
]
,"AM":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AM":[,[,,"[1-37-9]\\d{7}","\\d{5,8}"]
,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}",,,"10123456"]
,[,,"(?:77|9[1-49])\\d{6}","\\d{8}",,,"77123456"]
,[,,"800\\d{5}","\\d{8}",,,"80012345"]
,[,,"90[016]\\d{5}","\\d{8}",,,"90012345"]
,[,,"80[1-4]\\d{5}","\\d{8}",,,"80112345"]
,[,,"NA","NA"]
,"AM",374,"00","8",,,"8",,,1]
,"AN":[,[]
,[]
,[]
,[,,"NA","NA"]
,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-49]"]
,"(0$1)",""]
,[,"(\\d{3})(\\d{5})","$1 $2",["[23]"]
,"(0$1)",""]
,[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8|90"]
,"0 $1",""]
]
]
,"AN":[,[,,"[13-79]\\d{6,7}","\\d{7,8}"]
,[,,"(?:318|5(?:25|4\\d|8[239])|7(?:1[578]|50)|9(?:[48]\\d{2}|50\\d|7(?:2[0-2]|[34]\\d|6[35-7]|77)))\\d{4}|416[0239]\\d{3}","\\d{7,8}",,,"7151234"]
,[,,"(?:318|5(?:1[01]|2[0-7]|5\\d|8[016-8])|7(0[01]|[89]\\d)|9(?:5(?:[1246]\\d|3[01])|6(?:[1679]\\d|3[01])))\\d{4}|416[15-8]\\d{3}","\\d{7,8}",,,"3181234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"(?:10|69)\\d{5}","\\d{7,8}",,,"1011234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AN",599,"00",,,,,,,1]
,"AN",599,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[13-7]"]
,"",""]
,[,"(9)(\\d{3})(\\d{4})","$1 $2 $3",["9"]
,"",""]
]
]
,"AO":[,[,,"[29]\\d{8}","\\d{9}"]
,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}",,,"222123456"]
,[,,"9[1-3]\\d{7}","\\d{9}",,,"923123456"]
@ -397,7 +409,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AS",1,"011",,,,,,,,,,,,"684"]
,"AS",1,"011","1",,,"1",,,,,,,,"684"]
,"AT":[,[,,"\\d{4,13}","\\d{3,13}"]
,[,,"1\\d{3,12}|(?:2(?:1[467]|2[134-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|8[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|63|7[1368]|8[2457])|5(?:1[27]|2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[1-35-8]|5[468]|62)|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,10}|5(?:0[1-9]|[79]\\d)\\d{2,10}|720\\d{6,10}","\\d{3,13}",,,"1234567890"]
,[,,"6(?:44|5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}","\\d{7,13}",,,"644123456"]
@ -480,7 +492,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BB",1,"011",,,,,,,,,,,,"246"]
,"BB",1,"011","1",,,"1",,,,,,,,"246"]
,"BD":[,[,,"[2-79]\\d{5,9}|1\\d{9}|8[0-7]\\d{4,8}","\\d{6,10}"]
,[,,"2(?:7\\d1|8(?:[026]1|[1379][1-5]|8[1-8])|9(?:0[0-2]|1[1-4]|3[3-5]|5[56]|6[67]|71|8[078]))\\d{4}|3(?:[6-8]1|(?:0[23]|[25][12]|82|416)\\d|(?:31|12?[5-7])\\d{2})\\d{3}|4(?:(?:02|[49]6|[68]1)|(?:0[13]|21\\d?|[23]2|[457][12]|6[28])\\d|(?:23|[39]1)\\d{2}|1\\d{3})\\d{3}|5(?:(?:[457-9]1|62)|(?:1\\d?|2[12]|3[1-3]|52)\\d|61{2})|6(?:[45]1|(?:11|2[15]|[39]1)\\d|(?:[06-8]1|62)\\d{2})|7(?:(?:32|91)|(?:02|31|[67][12])\\d|[458]1\\d{2}|21\\d{3})\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}","\\d{6,9}",,,"27111234"]
,[,,"(?:1[13-9]\\d|(?:3[78]|44)[02-9]|6(?:44|6[02-9]))\\d{7}","\\d{10}",,,"1812345678"]
@ -519,7 +531,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"BF":[,[,,"[2457]\\d{7}","\\d{8}"]
,[,,"(?:20(?:49|5[23]|9[016-9])|40(?:4[569]|55|7[0179])|50[34]\\d)\\d{4}","\\d{8}",,,"20491234"]
,[,,"7(?:[04-6]\\d|1[0-489]|2[0-8]|8[013-9]|90)\\d{5}","\\d{8}",,,"70123456"]
,[,,"7(?:[024-6]\\d|1[0-489]|8[013-9]|90)\\d{5}","\\d{8}",,,"70123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -546,15 +558,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
]
]
,"BH":[,[]
,[]
,[]
,"BH":[,[,,"[1367]\\d{7}","\\d{8}"]
,[,,"(?:1(?:3[3-6]|6[0156]|7\\d)|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}",,,"17001234"]
,[,,"(?:3(?:[369]\\d|77|8[38])|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}",,,"36001234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BH",973,"00",,,,,,,1]
,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
]
]
,"BI":[,[,,"[27]\\d{7}","\\d{8}"]
,[,,"22(?:2[0-7]|[3-5]0)\\d{4}","\\d{8}",,,"22201234"]
,[,,"(?:29\\d|7(?:1[1-3]|[4-9]\\d))\\d{5}","\\d{8}",,,"79561234"]
@ -594,7 +608,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BM",1,"011",,,,,,,,,,,,"441"]
,"BM",1,"011","1",,,"1",,,,,,,,"441"]
,"BN":[,[,,"[2-578]\\d{6}","\\d{7}"]
,[,,"[2-5]\\d{6}","\\d{7}",,,"2345678"]
,[,,"[78]\\d{6}","\\d{7}",,,"7123456"]
@ -639,7 +653,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BS",1,"011",,,,,,,,,,,,"242"]
,"BS",1,"011","1",,,"1",,,,,,,,"242"]
,"BT":[,[,,"(?:17|[2-8])\\d{6}","\\d{6,8}"]
,[,,"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}","\\d{6,7}",,,"2345678"]
,[,,"17\\d{6}","\\d{8}",,,"17123456"]
@ -699,7 +713,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CA",1,"011"]
,"CA",1,"011","1",,,"1"]
,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
,[,,"[1-6]\\d{6}","\\d{7}",,,"1234567"]
,[,,"(?:8[0149]|9[7-9])\\d{7}","\\d{9}",,,"991234567"]
@ -818,6 +832,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"400\\d{7}","\\d{10}",,,"4001234567"]
,"CN",86,"00","0",,,"0",,,,[[,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"]
,"0$1",""]
,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]
,"",""]
,[,"(\\d{3,4})(\\d{4})","$1 $2",["[2-9]"]
,"",""]
,[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"]
@ -830,8 +846,6 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
,[,"(1[3-58]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["1[3-58]"]
,"",""]
,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]
,"",""]
,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]
,"",""]
]
@ -969,7 +983,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"DM",1,"011",,,,,,,,,,,,"767"]
,"DM",1,"011","1",,,"1",,,,,,,,"767"]
,"DO":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}",,,"8092345678"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}",,,"8092345678"]
@ -978,7 +992,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"DO",1,"011",,,,,,,1,,,,,"8[024]9"]
,"DO",1,"011","1",,,"1",,,1,,,,,"8[024]9"]
,"DZ":[,[,,"(?:[1-4]|[5-9]\\d)\\d{7}","\\d{8,9}"]
,[,,"(?:1\\d|2[014-79]|3[0-8]|4[0135689])\\d{6}|9619\\d{5}","\\d{8,9}",,,"12345678"]
,[,,"(?:5[56]|6[69]|7[79])\\d{7}","\\d{9}",,,"551234567"]
@ -1125,8 +1139,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"[1-5]\\d{8}","\\d{9}",,,"123456789"]
,[,,"6\\d{8}|7[5-9]\\d{7}","\\d{9}",,,"612345678"]
,[,,"80\\d{7}","\\d{9}",,,"801234567"]
,[,,"8(?:1[01]|2[0156]|84|9[0-37-9])\\d{6}","\\d{9}",,,"810123456"]
,[,,"NA","NA"]
,[,,"89[1-37-9]\\d{6}","\\d{9}",,,"891123456"]
,[,,"8(?:1[019]|2[0156]|84|90)\\d{6}","\\d{9}",,,"810123456"]
,[,,"NA","NA"]
,[,,"9\\d{8}","\\d{9}",,,"912345678"]
,"FR",33,"[04579]0","0",,,"0",,"00",,[[,"([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"]
@ -1150,7 +1164,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
]
,"GB":[,[,,"\\d{7,10}","\\d{6,10}"]
,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|8[02-9]|9[0-9])|3(?:0\\d|[25][02-9]|3[02-579]|4[0-56-9]|[68][0-46-9]|7[1-35-79]|9[24578])|4(?:0[03-9]|2[02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-9])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|[57][03-9]|6\\d|8[0-68]|9[0-57-9])|6(?:0[034689]|2[035689]|3[13-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[13-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[2-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{5,6}|(?:2[03489]|3[0347]|55)\\d{8}","\\d{6,10}",,,"1212345678"]
,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|8[02-9]|9[0-9])|3(?:0\\d|[25][02-9]|3[02-579]|4[0-56-9]|[68][0-46-9]|7[1-35-79]|9[24578])|4(?:0[03-9]|2[02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-9])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|[57][03-9]|6\\d|8[0-68]|9[0-57-9])|6(?:0[034689]|2[0-35689]|3[13-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[13-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[2-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{5,6}|(?:2[03489]|3[0347]|55)\\d{8}","\\d{6,10}",,,"1212345678"]
,[,,"7(?:4[0-26]\\d|5(?:[013-9]\\d|2[0-35-9])|7(?:0[1-9]|8[02-9]|9[0-689]|[1-7]\\d)|8(?:[014-9]\\d|[23][0-8])|9(?:1[02-9]|2[0135-9]|3[0-689]|[04-9]\\d))\\d{6}","\\d{10}",,,"7400123456"]
,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}",,,"8012345678"]
,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}",,,"9012345678"]
@ -1183,7 +1197,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GD",1,"011",,,,,,,,,,,,"473"]
,"GD",1,"011","1",,,"1",,,,,,,,"473"]
,"GE":[,[,,"[1-3579]\\d{7}|8\\d{8}","\\d{3,9}"]
,[,,"(?:122|2(?:22|36|5[03])|3(?:1[0-35-8]|[24-6]\\d|3[1-35679]|7[0-39]|9[1-35-7])|44[2-6])\\d{5}","\\d{3,8}",,,"32123456"]
,[,,"(?:5[1578]|6[28]|7[0147-9]|9[0135-9])\\d{6}","\\d{8}",,,"55123456"]
@ -1242,15 +1256,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GI",350,"00",,,,,,,1]
,"GL":[,[]
,[]
,[]
,[,,"NA","NA"]
,"GL":[,[,,"[1-689]\\d{5}","\\d{6}"]
,[,,"(?:19|3[1-6]|6[14689]|8[14-79]|9\\d)\\d{4}","\\d{6}",,,"321000"]
,[,,"[245][2-9]\\d{4}","\\d{6}",,,"221234"]
,[,,"80\\d{4}","\\d{6}",,,"801234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GL",299,"00",,,,,,,1]
,[,,"3[89]\\d{4}","\\d{6}",,,"381234"]
,"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
]
]
,"GM":[,[,,"[3-9]\\d{6}","\\d{7}"]
,[,,"(4(?:[23]\\d{2}|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6(?:[67]\\d)|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}","\\d{7}",,,"5661234"]
,[,,"[3679]\\d{6}","\\d{7}",,,"3012345"]
@ -1331,7 +1347,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GU",1,"011",,,,,,,1,,,,,"671"]
,"GU",1,"011","1",,,"1",,,1,,,,,"671"]
,"GW":[,[,,"[3567]\\d{6}","\\d{7}"]
,[,,"3(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7}",,,"3201234"]
,[,,"[5-7]\\d{6}","\\d{7}",,,"5012345"]
@ -1584,15 +1600,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
]
]
,"IS":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IS":[,[,,"[4-9]\\d{6}","\\d{7}"]
,[,,"(?:4(?:1[0-245]|2[0-7]|[37][0-8]|4[0245]|5[0-356]|6\\d|8[0-46-8]|9[013-79])|5(?:05|[156]\\d|2[02578]|3[013-6]|4[03-6]|7[0-2578]|8[0-25-9]|9[013-689])|87[23])\\d{4}","\\d{7}",,,"4101234"]
,[,,"(?:6(?:1[014-8]|2[0-8]|3[0-27-9]|4[0-29]|5[029]|[67][0-69]|[89]\\d)|7(?:5[057]|7[0-7])|8(?:2[0-5]|[469]\\d|5[1-9]))\\d{4}","\\d{7}",,,"6101234"]
,[,,"800\\d{4}","\\d{7}",,,"8001234"]
,[,,"90\\d{5}","\\d{7}",,,"9011234"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IS",354,"00","0",,,"0",,,1]
,[,,"49[013-79]\\d{4}","\\d{7}",,,"4931234"]
,"IS",354,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
]
]
,"IT":[,[,,"[01389]\\d{5,10}","\\d{6,11}"]
,[,,"0\\d{7,10}","\\d{8,11}",,,"0212345678"]
,[,,"3\\d{8,9}","\\d{9,10}",,,"312345678"]
@ -1638,7 +1656,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"JM",1,"011",,,,,,,,,,,,"876"]
,"JM",1,"011","1",,,"1",,,,,,,,"876"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
,[,,"[2356][2-8]\\d{6}","\\d{7,8}",,,"62345678"]
,[,,"7(?:4[5-7]|55|7[5-79]|8[5-8]|9[05-9])\\d{6}","\\d{9}",,,"790123456"]
@ -1751,7 +1769,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"KN",1,"011",,,,,,,,,,,,"869"]
,"KN",1,"011","1",,,"1",,,,,,,,"869"]
,"KP":[,[]
,[]
,[]
@ -1813,7 +1831,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"KY",1,"011",,,,,,,,,,,,"345"]
,"KY",1,"011","1",,,"1",,,,,,,,"345"]
,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"]
,[,,"7(?:1\\d[2-7]|2(?:[0-689][2-7]|75[279]))\\d{6}","\\d{10}",,,"7123456789"]
,[,,"7(?:(?:(?:1[2-578]|2[13-7])9[01]|2758)\\d{5}|(?:0[0-257]|6[02-4]|7[57])\\d{7})|6\\{9}","\\d{10}",,,"7129012345"]
@ -1863,7 +1881,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LC",1,"011",,,,,,,,,,,,"758"]
,"LC",1,"011","1",,,"1",,,,,,,,"758"]
,"LI":[,[,,"(?:66|80|90)\\d{7}|[237-9]\\d{6}","\\d{7,9}"]
,[,,"(?:2(?:17|3\\d|6[02-58]|96)|3(?:02|7[01357]|8[048]|9[0269])|870)\\d{4}","\\d{7}",,,"2345678"]
,[,,"66(?:[0178][0-4]|2[025-9]|[36]\\d|4[129]|5[45]|9[019])\\d{5}|7(?:4[2-59]|56|[6-9]\\d)\\d{4}","\\d{7,9}",,,"661234567"]
@ -2128,7 +2146,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MP",1,"011",,,,,,,1,,,,,"670"]
,"MP",1,"011","1",,,"1",,,1,,,,,"670"]
,"MQ":[,[]
,[]
,[]
@ -2157,7 +2175,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MS",1,"011",,,,,,,,,,,,"664"]
,"MS",1,"011","1",,,"1",,,,,,,,"664"]
,"MT":[,[]
,[]
,[]
@ -2536,7 +2554,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"3(?:0\\d|1[2-5]|2[1-3]|3[1-6]|4[2-6]|64)\\d{7}","\\d{10}",,,"3012345678"]
,[,,"800\\d{5}","\\d{8}",,,"80012345"]
,[,,"900\\d{5}","\\d{8}",,,"90012345"]
,[,,"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467]|8[126])|6(?:[1-8]|0[468])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}","\\d{11,12}",,,"21111825888"]
,[,,"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:[1-8]|0[468])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}","\\d{11,12}",,,"21111825888"]
,[,,"122\\d{6}","\\d{9}",,,"122044444"]
,[,,"NA","NA"]
,"PK",92,"00","0",,,"0",,,,[[,"(\\d{2})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)1","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)11","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)111"]
@ -2588,7 +2606,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"PR",1,"011",,,,,,,1,,,,,"787|939"]
,"PR",1,"011","1",,,"1",,,1,,,,,"787|939"]
,"PS":[,[]
,[]
,[]
@ -2645,8 +2663,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"262\\d{6}","\\d{9}",,,"262161234"]
,[,,"6(?:9[23]|47)\\d{6}","\\d{9}",,,"692123456"]
,[,,"80\\d{7}","\\d{9}",,,"801234567"]
,[,,"8(?:1[01]|2[0156]|84|9[0-37-9])\\d{6}","\\d{9}",,,"810123456"]
,[,,"NA","NA"]
,[,,"89[1-37-9]\\d{6}","\\d{9}",,,"891123456"]
,[,,"8(?:1[019]|2[0156]|84|90)\\d{6}","\\d{9}",,,"810123456"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
@ -2956,7 +2974,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"64971[01]\\d{4}","\\d{10}",,,"6497101234"]
,"TC",1,"011",,,,,,,,,,,,"649"]
,"TC",1,"011","1",,,"1",,,,,,,,"649"]
,"TD":[,[,,"[2679]\\d{7}","\\d{8}"]
,[,,"22(?:[3789]0|5[0-5]|6[89])\\d{4}","\\d{8}",,,"22501234"]
,[,,"(?:6(?:3[0-7]|6\\d)|77\\d|9(?:5[0-4]|9\\d))\\d{5}","\\d{8}",,,"63012345"]
@ -3094,7 +3112,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"TT",1,"011",,,,,,,,,,,,"868"]
,"TT",1,"011","1",,,"1",,,,,,,,"868"]
,"TV":[,[]
,[]
,[]
@ -3219,7 +3237,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"VC",1,"011",,,,,,,,,,,,"784"]
,"VC",1,"011","1",,,"1",,,,,,,,"784"]
,"VE":[,[,,"[24589]\\d{9}","\\d{7,10}"]
,[,,"(?:2(?:12|3[457-9]|[58][1-9]|[467]\\d|9[1-6])|50[01])\\d{7}","\\d{7,10}",,,"2121234567"]
,[,,"4(?:1[24-8]|2[46])\\d{7}","\\d{10}",,,"4121234567"]
@ -3239,7 +3257,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"VG",1,"011",,,,,,,,,,,,"284"]
,"VG",1,"011","1",,,"1",,,,,,,,"284"]
,"VI":[,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}",,,"3406421234"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}",,,"3406421234"]
@ -3248,7 +3266,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"VI",1,"011",,,,,,,1,,,,,"340"]
,"VI",1,"011","1",,,"1",,,1,,,,,"340"]
,"VN":[,[,,"8\\d{5,8}|[1-79]\\d{7,9}","\\d{7,10}"]
,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|[48]\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01]))\\d{7}|69\\d{5,6}|80\\d{5}","\\d{7,10}",,,"2101234567"]
,[,,"(?:9\\d|1(?:2[1-35-9]|6[3-9]|99))\\d{7}","\\d{9,10}",,,"912345678"]


+ 2
- 2
javascript/i18n/phonenumbers/metadatafortesting.js View File

@ -70,7 +70,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AO",244,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
,"AO",244,"00","0~0",,,"0~0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""]
]
]
,"AR":[,[,,"[1-3689]\\d{9,10}","\\d{6,11}"]
@ -126,7 +126,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BS",1,"011"]
,"BS",1,"011","1",,,"1"]
,"DE":[,[,,"\\d{4,14}","\\d{2,14}"]
,[,,"(?:[24-6]\\d{2}|3[03-9]\\d|[789](?:[1-9]\\d|0[2-9]))\\d{3,8}","\\d{2,14}",,,"30123456"]
,[,,"1(5\\d{9}|7\\d{8}|6[02]\\d{8}|63\\d{7})","\\d{10,11}"]


+ 79
- 61
javascript/i18n/phonenumbers/metadatalite.js View File

@ -293,7 +293,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"26848[01]\\d{4}","\\d{10}"]
,"AG",1,"011",,,,,,,,,,,,"268"]
,"AG",1,"011","1",,,"1",,,,,,,,"268"]
,"AI":[,[,,"[289]\\d{9}","\\d{7,10}"]
,[,,"2644(?:6[12]|9[78])\\d{4}","\\d{7,10}"]
,[,,"264(?:235|476|5(?:3[6-9]|8[1-4])|7(?:29|72))\\d{4}","\\d{10}"]
@ -302,7 +302,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AI",1,"011",,,,,,,,,,,,"264"]
,"AI",1,"011","1",,,"1",,,,,,,,"264"]
,"AL":[,[,,"[2-57]\\d{7}|6\\d{8}|8\\d{5,7}|9\\d{5}","\\d{5,9}"]
,[,,"(?:2(?:[168][1-9]|[247]\\d|9[1-7])|3(?:1[1-3]|[2-6]\\d|[79][1-8]|8[1-9])|4\\d{2}|5(?:1[1-4]|[2-578]\\d|6[1-5]|9[1-7])|8(?:[19][1-5]|[2-6]\\d|[78][1-7]))\\d{5}","\\d{5,8}"]
,[,,"6[6-9]\\d{7}","\\d{9}"]
@ -321,24 +321,36 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
]
]
,"AM":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AM":[,[,,"[1-37-9]\\d{7}","\\d{5,8}"]
,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}"]
,[,,"(?:77|9[1-49])\\d{6}","\\d{8}"]
,[,,"800\\d{5}","\\d{8}"]
,[,,"90[016]\\d{5}","\\d{8}"]
,[,,"80[1-4]\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,"AM",374,"00","8",,,"8",,,1]
,"AN":[,[]
,[]
,[]
,[,,"NA","NA"]
,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-49]"]
,"(0$1)",""]
,[,"(\\d{3})(\\d{5})","$1 $2",["[23]"]
,"(0$1)",""]
,[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["8|90"]
,"0 $1",""]
]
]
,"AN":[,[,,"[13-79]\\d{6,7}","\\d{7,8}"]
,[,,"(?:318|5(?:25|4\\d|8[239])|7(?:1[578]|50)|9(?:[48]\\d{2}|50\\d|7(?:2[0-2]|[34]\\d|6[35-7]|77)))\\d{4}|416[0239]\\d{3}","\\d{7,8}"]
,[,,"(?:318|5(?:1[01]|2[0-7]|5\\d|8[016-8])|7(0[01]|[89]\\d)|9(?:5(?:[1246]\\d|3[01])|6(?:[1679]\\d|3[01])))\\d{4}|416[15-8]\\d{3}","\\d{7,8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"(?:10|69)\\d{5}","\\d{7,8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AN",599,"00",,,,,,,1]
,"AN",599,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[13-7]"]
,"",""]
,[,"(9)(\\d{3})(\\d{4})","$1 $2 $3",["9"]
,"",""]
]
]
,"AO":[,[,,"[29]\\d{8}","\\d{9}"]
,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}"]
,[,,"9[1-3]\\d{7}","\\d{9}"]
@ -397,7 +409,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"AS",1,"011",,,,,,,,,,,,"684"]
,"AS",1,"011","1",,,"1",,,,,,,,"684"]
,"AT":[,[,,"\\d{4,13}","\\d{3,13}"]
,[,,"1\\d{3,12}|(?:2(?:1[467]|2[134-8]|5[2357]|6[1-46-8]|7[1-8]|8[124-7]|8[1458])|3(?:1[1-8]|3[23568]|4[5-7]|5[1378]|6[1-38]|8[3-68])|4(?:2[1-8]|35|63|7[1368]|8[2457])|5(?:1[27]|2[1-8]|3[357]|4[147]|5[12578]|6[37])|6(?:13|2[1-47]|4[1-35-8]|5[468]|62)|7(?:2[1-8]|3[25]|4[13478]|5[68]|6[16-8]|7[1-6]|9[45]))\\d{3,10}|5(?:0[1-9]|[79]\\d)\\d{2,10}|720\\d{6,10}","\\d{3,13}"]
,[,,"6(?:44|5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}","\\d{7,13}"]
@ -480,7 +492,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BB",1,"011",,,,,,,,,,,,"246"]
,"BB",1,"011","1",,,"1",,,,,,,,"246"]
,"BD":[,[,,"[2-79]\\d{5,9}|1\\d{9}|8[0-7]\\d{4,8}","\\d{6,10}"]
,[,,"2(?:7\\d1|8(?:[026]1|[1379][1-5]|8[1-8])|9(?:0[0-2]|1[1-4]|3[3-5]|5[56]|6[67]|71|8[078]))\\d{4}|3(?:[6-8]1|(?:0[23]|[25][12]|82|416)\\d|(?:31|12?[5-7])\\d{2})\\d{3}|4(?:(?:02|[49]6|[68]1)|(?:0[13]|21\\d?|[23]2|[457][12]|6[28])\\d|(?:23|[39]1)\\d{2}|1\\d{3})\\d{3}|5(?:(?:[457-9]1|62)|(?:1\\d?|2[12]|3[1-3]|52)\\d|61{2})|6(?:[45]1|(?:11|2[15]|[39]1)\\d|(?:[06-8]1|62)\\d{2})|7(?:(?:32|91)|(?:02|31|[67][12])\\d|[458]1\\d{2}|21\\d{3})\\d{3}|8(?:(?:4[12]|[5-7]2|1\\d?)|(?:0|3[12]|[5-7]1|217)\\d)\\d{4}|9(?:[35]1|(?:[024]2|81)\\d|(?:1|[24]1)\\d{2})\\d{3}","\\d{6,9}"]
,[,,"(?:1[13-9]\\d|(?:3[78]|44)[02-9]|6(?:44|6[02-9]))\\d{7}","\\d{10}"]
@ -519,7 +531,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
,"BF":[,[,,"[2457]\\d{7}","\\d{8}"]
,[,,"(?:20(?:49|5[23]|9[016-9])|40(?:4[569]|55|7[0179])|50[34]\\d)\\d{4}","\\d{8}"]
,[,,"7(?:[04-6]\\d|1[0-489]|2[0-8]|8[013-9]|90)\\d{5}","\\d{8}"]
,[,,"7(?:[024-6]\\d|1[0-489]|8[013-9]|90)\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
@ -546,15 +558,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
]
]
,"BH":[,[]
,[]
,[]
,"BH":[,[,,"[1367]\\d{7}","\\d{8}"]
,[,,"(?:1(?:3[3-6]|6[0156]|7\\d)|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}"]
,[,,"(?:3(?:[369]\\d|77|8[38])|6(?:1[16]|6[03469]|9[69])|77\\d)\\d{5}","\\d{8}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BH",973,"00",,,,,,,1]
,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""]
]
]
,"BI":[,[,,"[27]\\d{7}","\\d{8}"]
,[,,"22(?:2[0-7]|[3-5]0)\\d{4}","\\d{8}"]
,[,,"(?:29\\d|7(?:1[1-3]|[4-9]\\d))\\d{5}","\\d{8}"]
@ -594,7 +608,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BM",1,"011",,,,,,,,,,,,"441"]
,"BM",1,"011","1",,,"1",,,,,,,,"441"]
,"BN":[,[,,"[2-578]\\d{6}","\\d{7}"]
,[,,"[2-5]\\d{6}","\\d{7}"]
,[,,"[78]\\d{6}","\\d{7}"]
@ -639,7 +653,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"BS",1,"011",,,,,,,,,,,,"242"]
,"BS",1,"011","1",,,"1",,,,,,,,"242"]
,"BT":[,[,,"(?:17|[2-8])\\d{6}","\\d{6,8}"]
,[,,"(?:2[3-6]|[34][5-7]|5[236]|6[2-46]|7[246]|8[2-4])\\d{5}","\\d{6,7}"]
,[,,"17\\d{6}","\\d{8}"]
@ -699,7 +713,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"CA",1,"011"]
,"CA",1,"011","1",,,"1"]
,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"]
,[,,"[1-6]\\d{6}","\\d{7}"]
,[,,"(?:8[0149]|9[7-9])\\d{7}","\\d{9}"]
@ -818,6 +832,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"400\\d{7}","\\d{10}"]
,"CN",86,"00","0",,,"0",,,,[[,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"]
,"0$1",""]
,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]
,"",""]
,[,"(\\d{3,4})(\\d{4})","$1 $2",["[2-9]"]
,"",""]
,[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"]
@ -830,8 +846,6 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
,[,"(1[3-58]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["1[3-58]"]
,"",""]
,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"]
,"",""]
,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"]
,"",""]
]
@ -969,7 +983,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"DM",1,"011",,,,,,,,,,,,"767"]
,"DM",1,"011","1",,,"1",,,,,,,,"767"]
,"DO":[,[,,"[89]\\d{9}","\\d{7,10}"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}"]
,[,,"8[024]9[2-9]\\d{6}","\\d{7,10}"]
@ -978,7 +992,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"DO",1,"011",,,,,,,1,,,,,"8[024]9"]
,"DO",1,"011","1",,,"1",,,1,,,,,"8[024]9"]
,"DZ":[,[,,"(?:[1-4]|[5-9]\\d)\\d{7}","\\d{8,9}"]
,[,,"(?:1\\d|2[014-79]|3[0-8]|4[0135689])\\d{6}|9619\\d{5}","\\d{8,9}"]
,[,,"(?:5[56]|6[69]|7[79])\\d{7}","\\d{9}"]
@ -1125,8 +1139,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"[1-5]\\d{8}","\\d{9}"]
,[,,"6\\d{8}|7[5-9]\\d{7}","\\d{9}"]
,[,,"80\\d{7}","\\d{9}"]
,[,,"8(?:1[01]|2[0156]|84|9[0-37-9])\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"89[1-37-9]\\d{6}","\\d{9}"]
,[,,"8(?:1[019]|2[0156]|84|90)\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"9\\d{8}","\\d{9}"]
,"FR",33,"[04579]0","0",,,"0",,"00",,[[,"([1-79])(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["[1-79]"]
@ -1150,7 +1164,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
]
]
,"GB":[,[,,"\\d{7,10}","\\d{6,10}"]
,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|8[02-9]|9[0-9])|3(?:0\\d|[25][02-9]|3[02-579]|4[0-56-9]|[68][0-46-9]|7[1-35-79]|9[24578])|4(?:0[03-9]|2[02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-9])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|[57][03-9]|6\\d|8[0-68]|9[0-57-9])|6(?:0[034689]|2[035689]|3[13-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[13-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[2-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{5,6}|(?:2[03489]|3[0347]|55)\\d{8}","\\d{6,10}"]
,[,,"1(?:1[3-8]|[2-69]1)\\d{7}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|8[02-9]|9[0-9])|3(?:0\\d|[25][02-9]|3[02-579]|4[0-56-9]|[68][0-46-9]|7[1-35-79]|9[24578])|4(?:0[03-9]|2[02-57-9]|[37]\\d|4[02-69]|5[0-8]|[69][0-79]|8[02-9])|5(?:0[1-35-9]|2[024-9]|3[015689]|4[02-9]|[57][03-9]|6\\d|8[0-68]|9[0-57-9])|6(?:0[034689]|2[0-35689]|3[13-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|8[013-9]|9[0-24578])|7(?:0[0246-9]|2\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[13-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[2-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|8\\d|9[2-57]))\\d{5,6}|(?:2[03489]|3[0347]|55)\\d{8}","\\d{6,10}"]
,[,,"7(?:4[0-26]\\d|5(?:[013-9]\\d|2[0-35-9])|7(?:0[1-9]|8[02-9]|9[0-689]|[1-7]\\d)|8(?:[014-9]\\d|[23][0-8])|9(?:1[02-9]|2[0135-9]|3[0-689]|[04-9]\\d))\\d{6}","\\d{10}"]
,[,,"80(?:01111|\\d{7,8})|500\\d{6}","\\d{7,10}"]
,[,,"(?:9[018]\\d|87[1-3])\\d{7}","\\d{10}"]
@ -1183,7 +1197,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GD",1,"011",,,,,,,,,,,,"473"]
,"GD",1,"011","1",,,"1",,,,,,,,"473"]
,"GE":[,[,,"[1-3579]\\d{7}|8\\d{8}","\\d{3,9}"]
,[,,"(?:122|2(?:22|36|5[03])|3(?:1[0-35-8]|[24-6]\\d|3[1-35679]|7[0-39]|9[1-35-7])|44[2-6])\\d{5}","\\d{3,8}"]
,[,,"(?:5[1578]|6[28]|7[0147-9]|9[0135-9])\\d{6}","\\d{8}"]
@ -1242,15 +1256,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GI",350,"00",,,,,,,1]
,"GL":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GL":[,[,,"[1-689]\\d{5}","\\d{6}"]
,[,,"(?:19|3[1-6]|6[14689]|8[14-79]|9\\d)\\d{4}","\\d{6}"]
,[,,"[245][2-9]\\d{4}","\\d{6}"]
,[,,"80\\d{4}","\\d{6}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GL",299,"00",,,,,,,1]
,[,,"3[89]\\d{4}","\\d{6}"]
,"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""]
]
]
,"GM":[,[,,"[3-9]\\d{6}","\\d{7}"]
,[,,"(4(?:[23]\\d{2}|4(?:1[024679]|[6-9]\\d))|5(?:54[0-7]|6(?:[67]\\d)|7(?:1[04]|2[035]|3[58]|48))|8\\d{3})\\d{3}","\\d{7}"]
,[,,"[3679]\\d{6}","\\d{7}"]
@ -1331,7 +1347,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"GU",1,"011",,,,,,,1,,,,,"671"]
,"GU",1,"011","1",,,"1",,,1,,,,,"671"]
,"GW":[,[,,"[3567]\\d{6}","\\d{7}"]
,[,,"3(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7}"]
,[,,"[5-7]\\d{6}","\\d{7}"]
@ -1584,15 +1600,17 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,"0$1",""]
]
]
,"IS":[,[]
,[]
,[]
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IS":[,[,,"[4-9]\\d{6}","\\d{7}"]
,[,,"(?:4(?:1[0-245]|2[0-7]|[37][0-8]|4[0245]|5[0-356]|6\\d|8[0-46-8]|9[013-79])|5(?:05|[156]\\d|2[02578]|3[013-6]|4[03-6]|7[0-2578]|8[0-25-9]|9[013-689])|87[23])\\d{4}","\\d{7}"]
,[,,"(?:6(?:1[014-8]|2[0-8]|3[0-27-9]|4[0-29]|5[029]|[67][0-69]|[89]\\d)|7(?:5[057]|7[0-7])|8(?:2[0-5]|[469]\\d|5[1-9]))\\d{4}","\\d{7}"]
,[,,"800\\d{4}","\\d{7}"]
,[,,"90\\d{5}","\\d{7}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"IS",354,"00","0",,,"0",,,1]
,[,,"49[013-79]\\d{4}","\\d{7}"]
,"IS",354,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""]
]
]
,"IT":[,[,,"[01389]\\d{5,10}","\\d{6,11}"]
,[,,"0\\d{7,10}","\\d{8,11}"]
,[,,"3\\d{8,9}","\\d{9,10}"]
@ -1638,7 +1656,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"JM",1,"011",,,,,,,,,,,,"876"]
,"JM",1,"011","1",,,"1",,,,,,,,"876"]
,"JO":[,[,,"[235-9]\\d{7,8}","\\d{7,9}"]
,[,,"[2356][2-8]\\d{6}","\\d{7,8}"]
,[,,"7(?:4[5-7]|55|7[5-79]|8[5-8]|9[05-9])\\d{6}","\\d{9}"]
@ -1751,7 +1769,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"KN",1,"011",,,,,,,,,,,,"869"]
,"KN",1,"011","1",,,"1",,,,,,,,"869"]
,"KP":[,[]
,[]
,[]
@ -1813,7 +1831,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"KY",1,"011",,,,,,,,,,,,"345"]
,"KY",1,"011","1",,,"1",,,,,,,,"345"]
,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"]
,[,,"7(?:1\\d[2-7]|2(?:[0-689][2-7]|75[279]))\\d{6}","\\d{10}"]
,[,,"7(?:(?:(?:1[2-578]|2[13-7])9[01]|2758)\\d{5}|(?:0[0-257]|6[02-4]|7[57])\\d{7})|6\\{9}","\\d{10}"]
@ -1863,7 +1881,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"LC",1,"011",,,,,,,,,,,,"758"]
,"LC",1,"011","1",,,"1",,,,,,,,"758"]
,"LI":[,[,,"(?:66|80|90)\\d{7}|[237-9]\\d{6}","\\d{7,9}"]
,[,,"(?:2(?:17|3\\d|6[02-58]|96)|3(?:02|7[01357]|8[048]|9[0269])|870)\\d{4}","\\d{7}"]
,[,,"66(?:[0178][0-4]|2[025-9]|[36]\\d|4[129]|5[45]|9[019])\\d{5}|7(?:4[2-59]|56|[6-9]\\d)\\d{4}","\\d{7,9}"]
@ -2128,7 +2146,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MP",1,"011",,,,,,,1,,,,,"670"]
,"MP",1,"011","1",,,"1",,,1,,,,,"670"]
,"MQ":[,[]
,[]
,[]
@ -2157,7 +2175,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"MS",1,"011",,,,,,,,,,,,"664"]
,"MS",1,"011","1",,,"1",,,,,,,,"664"]
,"MT":[,[]
,[]
,[]
@ -2536,7 +2554,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"3(?:0\\d|1[2-5]|2[1-3]|3[1-6]|4[2-6]|64)\\d{7}","\\d{10}"]
,[,,"800\\d{5}","\\d{8}"]
,[,,"900\\d{5}","\\d{8}"]
,[,,"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467]|8[126])|6(?:[1-8]|0[468])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}","\\d{11,12}"]
,[,,"(?:2(?:[125]|3[2358]|4[2-4]|9[2-8])|4(?:[0-246-9]|5[3479])|5(?:[1-35-7]|4[2-467])|6(?:[1-8]|0[468])|7(?:[14]|2[236])|8(?:[16]|2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|22|3[27-9]|4[2-6]|6[3569]|9[2-7]))111\\d{6}","\\d{11,12}"]
,[,,"122\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,"PK",92,"00","0",,,"0",,,,[[,"(\\d{2})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)1","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)11","(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)111"]
@ -2588,7 +2606,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"PR",1,"011",,,,,,,1,,,,,"787|939"]
,"PR",1,"011","1",,,"1",,,1,,,,,"787|939"]
,"PS":[,[]
,[]
,[]
@ -2645,8 +2663,8 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"262\\d{6}","\\d{9}"]
,[,,"6(?:9[23]|47)\\d{6}","\\d{9}"]
,[,,"80\\d{7}","\\d{9}"]
,[,,"8(?:1[01]|2[0156]|84|9[0-37-9])\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"89[1-37-9]\\d{6}","\\d{9}"]
,[,,"8(?:1[019]|2[0156]|84|90)\\d{6}","\\d{9}"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""]
@ -2956,7 +2974,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"64971[01]\\d{4}","\\d{10}"]
,"TC",1,"011",,,,,,,,,,,,"649"]
,"TC",1,"011","1",,,"1",,,,,,,,"649"]
,"TD":[,[,,"[2679]\\d{7}","\\d{8}"]
,[,,"22(?:[3789]0|5[0-5]|6[89])\\d{4}","\\d{8}"]
,[,,"(?:6(?:3[0-7]|6\\d)|77\\d|9(?:5[0-4]|9\\d))\\d{5}","\\d{8}"]
@ -3094,7 +3112,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"TT",1,"011",,,,,,,,,,,,"868"]
,"TT",1,"011","1",,,"1",,,,,,,,"868"]
,"TV":[,[]
,[]
,[]
@ -3219,7 +3237,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"VC",1,"011",,,,,,,,,,,,"784"]
,"VC",1,"011","1",,,"1",,,,,,,,"784"]
,"VE":[,[,,"[24589]\\d{9}","\\d{7,10}"]
,[,,"(?:2(?:12|3[457-9]|[58][1-9]|[467]\\d|9[1-6])|50[01])\\d{7}","\\d{7,10}"]
,[,,"4(?:1[24-8]|2[46])\\d{7}","\\d{10}"]
@ -3239,7 +3257,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"VG",1,"011",,,,,,,,,,,,"284"]
,"VG",1,"011","1",,,"1",,,,,,,,"284"]
,"VI":[,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
,[,,"340(?:6[49]2|7[17]\\d)\\d{4}|(?:8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"]
@ -3248,7 +3266,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
,[,,"NA","NA"]
,[,,"NA","NA"]
,[,,"NA","NA"]
,"VI",1,"011",,,,,,,1,,,,,"340"]
,"VI",1,"011","1",,,"1",,,1,,,,,"340"]
,"VN":[,[,,"8\\d{5,8}|[1-79]\\d{7,9}","\\d{7,10}"]
,[,,"(?:2(?:[025-79]|1[0189]|[348][01])|3(?:[0136-9]|[25][01])|[48]\\d|5(?:[01][01]|[2-9])|6(?:[0-46-8]|5[01])|7(?:[02-79]|[18][01]))\\d{7}|69\\d{5,6}|80\\d{5}","\\d{7,10}"]
,[,,"(?:9\\d|1(?:2[1-35-9]|6[3-9]|99))\\d{7}","\\d{9,10}"]


+ 43
- 0
javascript/i18n/phonenumbers/phonenumberutil.js View File

@ -1727,6 +1727,49 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getCountryCodeForRegion =
return metadata.getCountryCodeOrDefault();
};
/**
* Returns the national dialling prefix for a specific region. For example, this
* would be 1 for the United States, and 0 for New Zealand. Set stripNonDigits
* to true to strip symbols like "~" (which indicates a wait for a dialling
* tone) from the prefix returned. If no national prefix is present, we return
* null.
*
* Warning: Do not use this method for do-your-own formatting - for some
* countries, the national dialling prefix is used only for certain types of
* numbers. Use the library's formatting functions to prefix the national prefix
* when required.
*
* @param {string} regionCode the ISO 3166-1 two-letter country code that
* denotes the country/region that we want to get the dialling prefix for.
* @param {boolean} stripNonDigits true to strip non-digits from the national
* dialling prefix.
* @return {?string} the dialling prefix for the country/region denoted by
* regionCode.
*/
i18n.phonenumbers.PhoneNumberUtil.prototype.getNddPrefixForRegion = function(
regionCode, stripNonDigits) {
if (!this.isValidRegionCode_(regionCode)) {
return null;
}
/** @type {i18n.phonenumbers.PhoneMetadata} */
var metadata = this.getMetadataForRegion(regionCode);
if (metadata == null) {
return null;
}
/** @type {string} */
var nationalPrefix = metadata.getNationalPrefixOrDefault();
// If no national prefix was found, we return null.
if (nationalPrefix.length == 0) {
return null;
}
if (stripNonDigits) {
// Note: if any other non-numeric symbols are ever used in national
// prefixes, these would have to be removed here as well.
nationalPrefix = nationalPrefix.replace('~', '');
}
return nationalPrefix;
};
/**
* Check if a country is one of the countries under the North American Numbering
* Plan Administration (NANPA).


+ 15
- 0
javascript/i18n/phonenumbers/phonenumberutil_test.js View File

@ -991,6 +991,21 @@ function testGetCountryCodeForRegion() {
assertEquals(0, phoneUtil.getCountryCodeForRegion('CS'));
}
function testGetNationalDiallingPrefixForRegion() {
assertEquals('1', phoneUtil.getNddPrefixForRegion('US', false));
// Test non-main country to see it gets the national dialling prefix for the
// main country with that country calling code.
assertEquals('1', phoneUtil.getNddPrefixForRegion('BS', false));
assertEquals('0', phoneUtil.getNddPrefixForRegion('NZ', false));
// Test case with non digit in the national prefix.
assertEquals('0~0', phoneUtil.getNddPrefixForRegion('AO', false));
assertEquals('00', phoneUtil.getNddPrefixForRegion('AO', true));
// Test case with invalid region.
assertEquals(null, phoneUtil.getNddPrefixForRegion('ZZ', false));
// CS is already deprecated so the library doesn't support it.
assertEquals(null, phoneUtil.getNddPrefixForRegion('CS', false));
}
function testIsNANPACountry() {
assertTrue(phoneUtil.isNANPACountry('US'));
assertTrue(phoneUtil.isNANPACountry('BS'));


Loading…
Cancel
Save