From c3404c0599e446e531e33b2049981d90dbd68f56 Mon Sep 17 00:00:00 2001 From: "jia.shao.peng" Date: Tue, 1 Mar 2011 09:31:34 +0000 Subject: [PATCH] Update JS code to revision 76. Patch contributed by tronikos. git-svn-id: http://libphonenumber.googlecode.com/svn/trunk@85 ee073f10-1060-11df-b6a4-87a95322a99c --- .../phonenumbers/BuildMetadataJsonFromXml.java | 58 +- javascript/README | 2 +- javascript/i18n/phonenumbers/metadata.js | 863 +++++++++++++++++---- javascript/i18n/phonenumbers/metadatafortesting.js | 44 +- javascript/i18n/phonenumbers/metadatalite.js | 863 +++++++++++++++++---- javascript/i18n/phonenumbers/phonemetadata.pb.js | 641 ++++++++------- javascript/i18n/phonenumbers/phonenumber.pb.js | 90 ++- javascript/i18n/phonenumbers/phonenumberutil.js | 188 ++++- .../i18n/phonenumbers/phonenumberutil_test.js | 79 +- 9 files changed, 2112 insertions(+), 716 deletions(-) diff --git a/java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java b/java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java index 277a2ed..81d6ad5 100644 --- a/java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java +++ b/java/resources/com/google/i18n/phonenumbers/BuildMetadataJsonFromXml.java @@ -249,53 +249,21 @@ public class BuildMetadataJsonFromXml { // missing 0 jsArrayBuilder.append(null); // required PhoneNumberDesc general_desc = 1; - if (metadata.hasGeneralDesc()) { - toJsArray(metadata.getGeneralDesc(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getGeneralDesc(), jsArrayBuilder); // required PhoneNumberDesc fixed_line = 2; - if (metadata.hasFixedLine()) { - toJsArray(metadata.getFixedLine(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getFixedLine(), jsArrayBuilder); // required PhoneNumberDesc mobile = 3; - if (metadata.hasMobile()) { - toJsArray(metadata.getMobile(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getMobile(), jsArrayBuilder); // required PhoneNumberDesc toll_free = 4; - if (metadata.hasTollFree()) { - toJsArray(metadata.getTollFree(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getTollFree(), jsArrayBuilder); // required PhoneNumberDesc premium_rate = 5; - if (metadata.hasPremiumRate()) { - toJsArray(metadata.getPremiumRate(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getPremiumRate(), jsArrayBuilder); // required PhoneNumberDesc shared_cost = 6; - if (metadata.hasSharedCost()) { - toJsArray(metadata.getSharedCost(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getSharedCost(), jsArrayBuilder); // required PhoneNumberDesc personal_number = 7; - if (metadata.hasPersonalNumber()) { - toJsArray(metadata.getPersonalNumber(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getPersonalNumber(), jsArrayBuilder); // required PhoneNumberDesc voip = 8; - if (metadata.hasVoip()) { - toJsArray(metadata.getVoip(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getVoip(), jsArrayBuilder); // required string id = 9; jsArrayBuilder.append(metadata.getId()); // required int32 country_code = 10; @@ -364,11 +332,7 @@ public class BuildMetadataJsonFromXml { jsArrayBuilder.append(null); } // required PhoneNumberDesc pager = 21; - if (metadata.hasPager()) { - toJsArray(metadata.getPager(), jsArrayBuilder); - } else { - jsArrayBuilder.append(null); - } + toJsArray(metadata.getPager(), jsArrayBuilder); // optional bool main_country_for_code = 22 [default=false]; if (metadata.getMainCountryForCode()) { jsArrayBuilder.append(1); @@ -381,6 +345,10 @@ public class BuildMetadataJsonFromXml { } else { jsArrayBuilder.append(null); } + // required PhoneNumberDesc no_international_dialling = 24; + toJsArray(metadata.getNoInternationalDialling(), jsArrayBuilder); + // required PhoneNumberDesc uan = 25; + toJsArray(metadata.getUan(), jsArrayBuilder); jsArrayBuilder.endArray(); } diff --git a/javascript/README b/javascript/README index b6ee5c0..985445b 100644 --- a/javascript/README +++ b/javascript/README @@ -25,7 +25,7 @@ pages with your web browser: How to update: ============== -The JavaScript library is ported from the Java implementation (revision 67). +The JavaScript library is ported from the Java implementation (revision 76). When the Java project gets updated follow these steps to update the JavaScript project: diff --git a/javascript/i18n/phonenumbers/metadata.js b/javascript/i18n/phonenumbers/metadata.js index 6d841d8..aae83fe 100644 --- a/javascript/i18n/phonenumbers/metadata.js +++ b/javascript/i18n/phonenumbers/metadata.js @@ -256,6 +256,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AE":[,[,,"[2-79]\\d{7,8}|800\\d{2,9}","\\d{5,12}"] ,[,,"(?:[2-4679][2-8]\\d|600[25])\\d{5}","\\d{7,9}",,,"22345678"] @@ -275,6 +277,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AF":[,[,,"[2-7]\\d{8}","\\d{7,9}"] ,[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}","\\d{7,9}",,,"234567890"] @@ -287,27 +291,33 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"AF",93,"00","0",,,"0",,,,[[,"([2-7]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AG":[,[,,"[289]\\d{9}","\\d{7,10}"] -,[,,"268(?:4(?:6[0-3]|84)|56[0-2])\\d{4}","\\d{7,10}",,,"2684601234"] -,[,,"268(?:464|7(?:2[0-9]|64|7[0-5]|8[358]))\\d{4}","\\d{10}",,,"2684641234"] +,[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}","\\d{7,10}",,,"2684601234"] +,[,,"268(?:464|7(?:2[0-9]|64|7[0-689]|8[02-68]))\\d{4}","\\d{10}",,,"2684641234"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"26848[01]\\d{4}","\\d{10}",,,"2684801234"] -,"AG",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"268"] +,"AG",1,"011","1",,,"1",,,,,,[,,"26840[69]\\d{4}","\\d{10}",,,"2684061234"] +,,"268",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"AI",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"264"] +,,"264",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -326,6 +336,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"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"] @@ -343,6 +355,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"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"] @@ -358,6 +372,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AO":[,[,,"[29]\\d{8}","\\d{9}"] ,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}",,,"222123456"] @@ -370,6 +386,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"AO",244,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AR":[,[,,"[1-9]\\d{9,11}","\\d{6,12}"] ,[,,"[1-9]\\d{9}","\\d{6,10}",,,"1123456789"] @@ -410,6 +428,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AS":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7,10}",,,"6846221234"] @@ -417,10 +437,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"AS",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"684"] +,,"684",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -437,6 +459,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"] ,[,,"[2378]\\d{8}","\\d{8,9}",,,"212345678"] @@ -460,6 +484,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AW":[,[,,"[5-9]\\d{6}","\\d{7}"] ,[,,"5(?:2\\d{2}|8(?:[2-7]\\d|8[0-79]|9[48]))\\d{3}","\\d{7}",,,"5212345"] @@ -472,24 +498,34 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"AW",297,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{8,9}"] -,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[0236-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{8,9}",,,"123123456"] +,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{5,9}"] +,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[02346-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{5,9}",,,"123123456"] ,[,,"(?:4[04]|5[015]|60|7[07])\\d{7}","\\d{9}",,,"401234567"] ,[,,"88\\d{7}","\\d{9}",,,"881234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"AZ",994,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[28]|22|[3-8]"] -,"",""] -,[,"([12]\\d{2})(\\d{5})","$1 $2",["1[013-79]|2[013-9]"] -,"",""] +,"AZ",994,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]"] +,"(0$1)",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["22"] +,"(0$1)",""] +,[,"(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"] +,"(0$1)",""] +,[,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013-79]|2[013-9]"] +,"(0$1)",""] +,[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[4-8]"] +,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BA":[,[,,"[3-689]\\d{7}","\\d{6,8}"] -,[,,"(?:[35]\\d|49|81)\\d{6}","\\d{6,8}",,,"30123456"] +,[,,"(?:[35]\\d|49)\\d{6}","\\d{6,8}",,,"30123456"] ,[,,"6[1-356]\\d{6}","\\d{8}",,,"61123456"] ,[,,"8[08]\\d{6}","\\d{8}",,,"80123456"] ,[,,"9[0246]\\d{6}","\\d{8}",,,"90123456"] @@ -499,6 +535,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BA",387,"00","0",,,"0",,,,[[,"([3-689]\\d)(\\d{3})(\\d{3})","$1 $2-$3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"81\\d{6}","\\d{8}",,,"81123456"] ] ,"BB":[,[,,"[289]\\d{9}","\\d{7,10}"] ,[,,"246[2-9]\\d{6}","\\d{7,10}",,,"2462345678"] @@ -506,10 +544,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"BB",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"246"] +,,"246",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -528,13 +568,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BE":[,[,,"[1-9]\\d{7,8}","\\d{8,9}"] -,[,,"(?:1[0-69]|[23][2-8]|[49][23]|5\\d|6[013-57-9]|7[18])\\d{6}|8(?:0[1-9]|[1-79]\\d)\\d{5}","\\d{8}",,,"12345678"] +,[,,"(?:1[0-69]|[23][2-8]|[49][23]|5\\d|6[013-57-9]|7[18])\\d{6}|8(?:0[1-9]|[1-69]\\d)\\d{5}","\\d{8}",,,"12345678"] ,[,,"4(?:7\\d|8[4-9]|9[1-9])\\d{6}","\\d{9}",,,"470123456"] ,[,,"800\\d{5}","\\d{8}",,,"80012345"] ,[,,"(?:90|7[07])\\d{6}","\\d{8}",,,"90123456"] -,[,,"NA","NA"] +,[,,"87\\d{6}","\\d{8}",,,"87123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,"BE",32,"00","0",,,"0",,,,[[,"(4[7-9]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4[7-9]"] @@ -547,6 +589,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"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"] @@ -559,6 +603,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BF",226,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BG":[,[,,"[2-9]\\d{6,8}","\\d{7,9}"] ,[,,"(?:2\\d|[36]\\d|5[1-9]|8[1-6]|9[1-7])\\d{5,6}|(?:4(?:[124-7]\\d|3[1-6])|7(?:0[1-9]|[1-9]\\d))\\d{4,5}","\\d{7,8}",,,"2123456"] @@ -582,6 +628,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BH":[,[,,"[136-9]\\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"] @@ -594,6 +642,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BI":[,[,,"[27]\\d{7}","\\d{8}"] ,[,,"22(?:2[0-7]|[3-5]0)\\d{4}","\\d{8}",,,"22201234"] @@ -606,6 +656,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BI",257,"00",,,,,,,,[[,"([27]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BJ":[,[,,"[2689]\\d{7}|7\\d{3}","\\d{4,8}"] ,[,,"2(?:02|1[037]|2[45]|3[68])\\d{5}","\\d{8}",,,"20211234"] @@ -618,6 +670,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BJ",229,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BL":[,[,,"[56]\\d{8}","\\d{9}"] ,[,,"590(?:2[7-9]|5[12]|87)\\d{4}","\\d{9}",,,"590271234"] @@ -628,6 +682,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"BL",590,"00","0",,,"0",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BM":[,[,,"[489]\\d{9}","\\d{7,10}"] ,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7,10}",,,"4412345678"] @@ -635,10 +691,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"BM",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"441"] +,,"441",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"BN":[,[,,"[2-578]\\d{6}","\\d{7}"] ,[,,"[2-5]\\d{6}","\\d{7}",,,"2345678"] ,[,,"[78]\\d{6}","\\d{7}",,,"7123456"] @@ -650,6 +708,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BN",673,"00","0",,,"0",,,,[[,"([2-578]\\d{2})(\\d{4})","$1 $2",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BO":[,[,,"[23467]\\d{7}","\\d{7,8}"] ,[,,"(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}","\\d{7,8}",,,"22123456"] @@ -665,6 +725,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BR":[,[,,"[1-9]\\d{7,9}","\\d{8,10}"] ,[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}","\\d{8,10}",,,"1123456789"] @@ -682,6 +744,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BS":[,[,,"[289]\\d{9}","\\d{7,10}"] ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7,10}",,,"2423456789"] @@ -689,10 +753,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"242300\\d{4}|8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"BS",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"242"] +,,"242",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -707,6 +773,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BW":[,[,,"[2-9]\\d{6,7}","\\d{7,8}"] ,[,,"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0235-9]|55|6\\d|7[01]|9[0-57])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[0389]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}","\\d{7}",,,"2401234"] @@ -722,6 +790,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BY":[,[,,"[12-4]\\d{8}|[89]\\d{9}","\\d{7,10}"] ,[,,"(?:1(?:5(?:1[1-5]|2\\d|6[1-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d{2})|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:2\\d|3[02-79]|4[024-7]|5[0-7])))\\d{5}","\\d{7,9}",,,"152450911"] @@ -737,6 +807,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BZ":[,[,,"[2-8]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"] ,[,,"[234578][02]\\d{5}","\\d{7}",,,"2221234"] @@ -752,16 +824,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"] -,[,,"(?:2(?:04|26|50|89)|306|4(?:03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67))[2-9]\\d{6}|310\\d{4}","\\d{7,10}",,,"2042345678"] -,[,,"(?:2(?:04|26|50|89)|306|4(?:03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67)|9(?:02|05))[2-9]\\d{6}","\\d{7,10}",,,"2042345678"] +,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}|310\\d{4}","\\d{7,10}",,,"2042345678"] +,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}","\\d{7,10}",,,"2042345678"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}|310\\d{4}","\\d{7,10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"CA",1,"011","1",,,"1",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"] ,[,,"[1-6]\\d{6}","\\d{7}",,,"1234567"] @@ -777,6 +853,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CF":[,[,,"[278]\\d{7}","\\d{8}"] ,[,,"2[12]\\d{6}","\\d{8}",,,"21612345"] @@ -789,6 +867,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CF",236,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CG":[,[,,"[028]\\d{8}","\\d{9}"] ,[,,"222[1-589]\\d{5}","\\d{9}",,,"222123456"] @@ -804,6 +884,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CH":[,[,,"[2-9]\\d{8}","\\d{9}"] ,[,,"(?:2[12467]|3[1-4]|4[134]|5[12568]|6[12]|[7-9]1)\\d{7}","\\d{9}",,,"212345678"] @@ -819,6 +901,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CI":[,[,,"[02-5]\\d{7}","\\d{8}"] ,[,,"(?:2(?:0[023]|1[02357]|[23][045]|4[03-5])|3(?:0[06]|1[069]|[2-4][07]|5[09]|6[08]))\\d{5}","\\d{8}",,,"21234567"] @@ -831,6 +915,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CI",225,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CK":[,[] ,[] @@ -841,6 +927,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"CK",682,"00","00",,,"00",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CL":[,[,,"(?:[2-9]|600|123)\\d{7,8}","\\d{6,11}"] ,[,,"(?:2|32|41)\\d{7}|(?:3[3-5]|4[235]|5[1-3578]|6[13-57]|7[1-35])\\d{6,7}","\\d{6,9}",,,"21234567"] @@ -850,7 +938,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"44\\d{7}","\\d{9}",,,"441234567"] -,"CL",56,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","0",,,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))",,,,[[,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"] +,"CL",56,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","0",,,"0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018])",,,,[[,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"] ,"0$1",""] ,[,"(\\d{2})(\\d{2,3})(\\d{4})","$1 $2 $3",["[357]|4[1-35]|6[13-57]"] ,"0$1",""] @@ -866,6 +954,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CM":[,[,,"[237-9]\\d{7}","\\d{8}"] ,[,,"(?:22|33)\\d{6}","\\d{8}",,,"22123456"] @@ -881,6 +971,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CN":[,[,,"[1-79]\\d{7,11}|8[0-357-9]\\d{6,9}","\\d{4,12}"] ,[,,"21\\d{8,10}|(?:10|2[02-57-9]|3(?:11|7[159])|4[135]1|5(?:1\\d|2[37]|3[12]|7[13-79]|9[15])|7(?:31|5[457]|6[09])|898)\\d{8}|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7[0-46-9]|8[23])|5(?:3[03-9]|4[36]|5\\d|6[1-6]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))\\d{7}|80(?:29|6[03578]|7[018]|81)\\d{4}","\\d{4,12}",,,"1012345678"] @@ -927,16 +1019,34 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"CO":[,[] -,[] -,[] +,"CO":[,[,,"(?:[13]\\d{0,3}|[24-8])\\d{7}","\\d{7,11}"] +,[,,"[124-8][2-9]\\d{6}","\\d{8}",,,"12345678"] +,[,,"3(?:0[0-24]|1[0-8]|2[01])\\d{7}","\\d{10}",,,"3211234567"] +,[,,"1800\\d{7}","\\d{11}",,,"18001234567"] +,[,,"19(?:0[01]|4[78])\\d{7}","\\d{11}",,,"19001234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,"CO",57,"00[579]|#555|#999","0",,,"0(?:[3579]|4(?:44|56))",,,,[[,"(\\d)(\\d{7})","($1) $2",["1(?:8[2-9]|9[0-3]|[2-7])|[24-8]","1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]"] +,"",""] +,[,"(\\d{3})(\\d{7})","$1 $2",["3"] +,"",""] +,[,"(1)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"] +,"0$1",""] +] +,[[,"(\\d)(\\d{7})","$1 $2",["1(?:8[2-9]|9[0-3]|[2-7])|[24-8]","1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]"] +,,""] +,[,"(\\d{3})(\\d{7})","$1 $2",["3"] +,,""] +,[,"(1)(\\d{3})(\\d{7})","$1 $2 $3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"] +,,""] +] ,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"CR":[,[,,"[289]\\d{7,9}","\\d{8,10}"] ,[,,"2[24-7]\\d{6}","\\d{8}",,,"22123456"] @@ -952,9 +1062,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CU":[,[,,"[2-57]\\d{5,7}","\\d{4,8}"] -,[,,"(?:2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7})","\\d{4,8}",,,"71234567"] +,[,,"2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7}","\\d{4,8}",,,"71234567"] ,[,,"5\\d{7}","\\d{8}",,,"51234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -969,6 +1081,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CV":[,[,,"[259]\\d{6}","\\d{7}"] ,[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}","\\d{7}",,,"2211234"] @@ -981,6 +1095,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CV",238,"0",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CY":[,[,,"[27-9]\\d{7}","\\d{8}"] ,[,,"2[2-6]\\d{6}","\\d{8}",,,"22345678"] @@ -993,6 +1109,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CY",357,"00",,,,,,,,[[,"([27-9]\\d)(\\d{6})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CZ":[,[,,"[2-9]\\d{8}","\\d{9}"] ,[,,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}","\\d{9}",,,"212345678"] @@ -1005,6 +1123,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CZ",420,"00",,,,,,,,[[,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DE":[,[,,"[1-35-9]\\d{3,13}|4(?:[0-8]\\d{4,12}|9(?:4[1-8]|[0-35-7]\\d)\\d{2,7})","\\d{2,14}"] ,[,,"[246]\\d{5,13}|3(?:[03-9]\\d{4,11}|2\\d{9})|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])\\d{3,10}|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-9]\\d)\\d{3,10}|9(?:0[6-9]|[1-9]\\d)\\d{3,10}","\\d{2,14}",,,"30123456"] @@ -1030,6 +1150,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"16(?:4\\d{1,10}|[89]\\d{1,11})","\\d{4,14}",,,"16412345"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DJ":[,[,,"[1-8]\\d{5}","\\d{6}"] ,[,,"(?:1[05]|[2-5]\\d)\\d{4}","\\d{6}",,,"251234"] @@ -1042,6 +1164,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"DJ",253,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DK":[,[,,"[1-9]\\d{7}","\\d{8}"] ,[,,"(?:3[2-9]|4[3-9]|5[4-9]|6[2-9]|7[02-9]|8[26-9]|9[6-9])\\d{6}","\\d{8}",,,"32123456"] @@ -1054,6 +1178,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"DK",45,"00",,,,,,,,[[,"([1-9]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DM":[,[,,"[7-9]\\d{9}","\\d{7,10}"] ,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7,10}",,,"7674201234"] @@ -1061,20 +1187,24 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"DM",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"767"] +,,"767",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"DO",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"8[024]9"] +,,"8[024]9",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -1091,6 +1221,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"EC":[,[,,"[2-9]\\d{7}|1\\d{9,10}","\\d{7,11}"] ,[,,"[2-7][2-7]\\d{6}","\\d{7,8}",,,"22123456"] @@ -1115,6 +1247,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"] ,[,,"(?:3[23589]|4(?:0\\d|[3-8])|6\\d|7[1-9]|88)\\d{5}","\\d{7,8}",,,"3212345"] @@ -1134,6 +1268,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"800[2-9]\\d{3}","\\d{7}",,,"8002123"] +,[,,"NA","NA"] ] ,"EG":[,[,,"1\\d{4,9}|[2-689]\\d{7,9}","\\d{5,10}"] ,[,,"(?:1[35][23]|2[23]\\d|3\\d|4(?:0[2-4]|[578][23]|64)|5(?:0[234]|[57][23])|6[24-689]3|8(?:[28][2-4]|42|6[23])|9(?:[25]2|3[24]|6[23]|7[2-4]))\\d{6}|1[69]\\d{3}","\\d{5,9}",,,"234567890"] @@ -1151,6 +1287,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ER":[,[,,"[178]\\d{6}","\\d{6,7}"] ,[,,"1(?:1[12568]|20|40|55|6[146])\\d{4}|8\\d{6}","\\d{6,7}",,,"8370362"] @@ -1163,6 +1301,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ER",291,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ES":[,[,,"[5-9]\\d{8}","\\d{9}"] ,[,,"[89][1-8]\\d{7}","\\d{9}",,,"812345678"] @@ -1170,11 +1310,13 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"[89]00\\d{6}","\\d{9}",,,"800123456"] ,[,,"80[367]\\d{6}","\\d{9}",,,"803123456"] ,[,,"90[12]\\d{6}","\\d{9}",,,"901123456"] -,[,,"(?:51|70)\\d{7}","\\d{9}",,,"701234567"] +,[,,"70\\d{7}","\\d{9}",,,"701234567"] ,[,,"NA","NA"] ,"ES",34,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"51\\d{7}","\\d{9}",,,"511234567"] ] ,"ET":[,[,,"[1-59]\\d{8}","\\d{7,9}"] ,[,,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-23]|6[5-8])|5(?:1[57]|44|5[0-4])|6(?:18|2[69]|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}","\\d{7,9}",,,"111112345"] @@ -1187,9 +1329,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ET",251,"00","0",,,"0",,,,[[,"([1-59]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FI":[,[,,"[1-9]\\d{4,11}","\\d{5,12}"] -,[,,"1(?:0[1-9]\\d{3,7}|[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2(?:0(?:[16-8]\\d{3,7}|2[14-9]\\d{1,6}|[3-5]\\d{2,7}|9[0-7]\\d{1,6})|[1-8]\\d{3,9}|9\\d{4,8})|3(?:0[1-9]\\d{3,7}|[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,12}",,,"1312345678"] +,[,,"1(?:[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2[1-8]\\d{3,9}|3(?:[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|","\\d{5,12}",,,"1312345678"] ,[,,"4\\d{5,10}|50\\d{4,8}","\\d{6,11}",,,"412345678"] ,[,,"800\\d{4,7}","\\d{7,10}",,,"8001234567"] ,[,,"[67]00\\d{5,6}","\\d{8,9}",,,"600123456"] @@ -1204,6 +1348,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"10[1-9]\\d{3,7}|2(?:0(?:[16-8]\\d{3,7}|2[14-9]\\d{1,6}|[3-5]\\d{2,7}|9[0-7]\\d{1,6})|9\\d{4,8})|30[1-9]\\d{3,7}|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{6,10}",,,"10112345"] ] ,"FJ":[,[] ,[] @@ -1214,6 +1360,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"FJ",679,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FK":[,[] ,[] @@ -1224,6 +1372,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"FK",500,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FM":[,[] ,[] @@ -1234,6 +1384,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"FM",691,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FO":[,[,,"[2-9]\\d{5}","\\d{6}"] ,[,,"(?:20|[3-4]\\d|8[19])\\d{4}","\\d{6}",,,"201234"] @@ -1244,6 +1396,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"(?:6[0-36]|88)\\d{4}","\\d{6}",,,"601234"] ,"FO",298,"00",,,,"10(?:01|[12]0|88)",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FR":[,[,,"[1-9]\\d{8}","\\d{9}"] ,[,,"[1-5]\\d{8}","\\d{9}",,,"123456789"] @@ -1259,6 +1413,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GA":[,[,,"[4-9]\\d{5}|0\\d{7}","\\d{6,8}"] ,[,,"(?:4(?:[04-8]\\d|2[04])|(?:5[04-689]|6[024-9]|7\\d|8[236]|9[02368])\\d)\\d{3}","\\d{6}",,,"441234"] @@ -1274,9 +1430,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GB":[,[,,"\\d{7,10}","\\d{4,10}"] -,[,,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|1(?:(?:1(?:3[0-48]|[46][0-4]|5[012789]|7[0-39]|8[01349])|21[0-7]|31[0-8]|[459]1\\d|61[01246-9]))\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|[28][02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|(?:3[0347]|55)\\d{8}","\\d{4,10}",,,"1212345678"] +,[,,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|1(?:(?:1(?:3[0-48]|[46][0-4]|5[012789]|7[0-39]|8[01349])|21[0-7]|31[0-8]|[459]1\\d|61[0-46-9]))\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|[28][02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}","\\d{4,10}",,,"1212345678"] ,[,,"7(?:[1-4]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[04-9]\\d|1[02-9]|2[0135-9]|3[0-689]))\\d{6}","\\d{10}",,,"7400123456"] ,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"] ,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"] @@ -1305,17 +1463,21 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",,,"7640123456"] -,1] +,1,,[,,"NA","NA"] +,[,,"(?:3[0347]|55)\\d{8}","\\d{10}",,,"5512345678"] +] ,"GD":[,[,,"[489]\\d{9}","\\d{7,10}"] -,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:08|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}",,,"4732691234"] +,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}",,,"4732691234"] ,[,,"473(?:4(?:0[3-79]|1[04-9]|20|58)|53[3-8])\\d{4}","\\d{10}",,,"4734031234"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"GD",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"473"] +,,"473",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -1336,6 +1498,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GF":[,[] ,[] @@ -1346,8 +1510,10 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GF",594,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"GG":[,[,,"[15789]\\d{6,9}","\\d{6,10}"] +,"GG":[,[,,"[135789]\\d{6,9}","\\d{6,10}"] ,[,,"1481\\d{6}","\\d{6,10}",,,"1481456789"] ,[,,"7(?:781|839|911)\\d{6}","\\d{10}",,,"7781123456"] ,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"] @@ -1356,6 +1522,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"70\\d{8}","\\d{10}",,,"7012345678"] ,[,,"56\\d{8}","\\d{10}",,,"5612345678"] ,"GG",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",,,"7640123456"] +,,,[,,"NA","NA"] +,[,,"(?:3[0347]|55)\\d{8}","\\d{10}",,,"5512345678"] ] ,"GH":[,[,,"[235]\\d{6,8}","\\d{7,9}"] ,[,,"3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-37]|7\\d)|4(?:[27]\\d|30)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}","\\d{7,9}",,,"302345678"] @@ -1368,6 +1536,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GH",233,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GI":[,[,,"[2568]\\d{7}","\\d{8}"] ,[,,"2(?:00\\d|16[0-7]|22[2457])\\d{4}","\\d{8}",,,"20012345"] @@ -1378,6 +1548,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GI",350,"00",,,,,,,,,,[,,"NA","NA"] +,,,[,,"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}",,,"321000"] @@ -1390,6 +1562,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"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"] @@ -1402,6 +1576,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GM",220,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GN":[,[,,"[3567]\\d{7}","\\d{8}"] ,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}",,,"30241234"] @@ -1414,6 +1590,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GP":[,[,,"[56]\\d{8}","\\d{9}"] ,[,,"590(?:1[12]|2[0-68]|3[28]|4[126-8]|5[067]|6[018]|[89]\\d)\\d{4}","\\d{9}",,,"590201234"] @@ -1426,7 +1604,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GP",590,"00","0",,,"0",,,,[[,"([56]90)(\\d{2})(\\d{4})","$1 $2-$3",,"0$1",""] ] ,,[,,"NA","NA"] -,1] +,1,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"GQ":[,[,,"[23589]\\d{8}","\\d{6,9}"] ,[,,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}","\\d{6,9}",,,"333091234"] ,[,,"(?:222|551)\\d{6}","\\d{6,9}",,,"222123456"] @@ -1441,6 +1621,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GR":[,[,,"[26-9]\\d{9}","\\d{10}"] ,[,,"2(?:1\\d{2}|2(?:3[1-8]|4[1-7]|5[1-4]|6[1-8]|7[1-5]|[289][1-9])|3(?:1\\d|2[1-5]|3[1-4]|[45][1-3]|7[1-7]|8[1-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|2[1-3]|4[124]|5[1-6]|[39][1-4])|6(?:1\\d|3[24]|4[1-7]|5[13-9]|[269][1-6]|7[14]|8[1-35])|7(?:1\\d|[23][1-5]|4[1-7]|5[1-57]|6[134]|9[15-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-7]))\\d{6}","\\d{10}",,,"2123456789"] @@ -1458,6 +1640,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GT":[,[] ,[] @@ -1468,6 +1652,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GT",502,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GU":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}",,,"6713123456"] @@ -1475,10 +1661,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"GU",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"671"] +,,"671",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -1490,6 +1678,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GY":[,[] ,[] @@ -1500,6 +1690,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GY",592,"001","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HK":[,[,,"[235-7]\\d{7}|8\\d{7,8}|9\\d{7,10}","\\d{8,11}"] ,[,,"[23]\\d{7}","\\d{8}",,,"21234567"] @@ -1517,6 +1709,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HN":[,[,,"[237-9]\\d{7}","\\d{8}"] ,[,,"2(?:2(?:0[019]|1[1-36]|[23]\\d|4[056]|5[57]|9[01])|4(?:2|3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:4[3-5]|5\\d|6[56]|74)|6(?:4[0-378]|[56]\\d|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[34])|8(?:79|8[0-35789]|9[1-57-9]))\\d{4}","\\d{8}",,,"22123456"] @@ -1529,6 +1723,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"HN",504,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1-$2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HR":[,[,,"[1-7]\\d{5,8}|[89]\\d{6,11}","\\d{6,12}"] ,[,,"(?:1|6[029])\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6}","\\d{6,9}",,,"12345678"] @@ -1558,6 +1754,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HT":[,[,,"[2-489]\\d{7}","\\d{8}"] ,[,,"2(?:[24]\\d|5[1-5]|94)\\d{5}","\\d{8}",,,"22453300"] @@ -1570,6 +1768,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"HT",509,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HU":[,[,,"\\d{8,9}","\\d{6,9}"] ,[,,"(?:1\\d|2(?:1\\d|[2-9])|3[2-7]|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}","\\d{6,9}",,,"12345678"] @@ -1585,6 +1785,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"($1)",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ID":[,[,,"[1-9]\\d{6,10}","\\d{5,11}"] ,[,,"2[124]\\d{7,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|2[1-578]|3[1-68]|4[1-3]|5[1-8]|6[1-3568]|7[0-46]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[1246-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-469]|4[1-6])|7(?:1[1-46-9]|2[14-9]|[36]\\d|4[1-8]|5[1-9]|7[0-36-9])|9(?:0[12]|1[0134-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}","\\d{5,10}",,,"612345678"] @@ -1608,9 +1810,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"IE":[,[,,"[124-9]\\d{6,9}","\\d{5,10}"] -,[,,"1\\d{7,8}|2(?:1\\d{6,7}|[24-9]\\d{5}|3\\d{5,7})|4(?:0[24]\\d{5}|[1269]\\d{7}|[34]\\d{5,7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|2\\d{5,7}|[3679]\\d{7}|8\\d{5})|6(?:1\\d{6}|4\\d{5,7}|[237-9]\\d{5}|[56]\\d{7})|7[14]\\d{7}|818\\d{6}|9(?:1\\d{6}|[04]\\d{7}|[3-9]\\d{5})","\\d{5,10}",,,"2212345"] +,[,,"1\\d{7,8}|2(?:1\\d{6,7}|[24-9]\\d{5}|3\\d{5,7})|4(?:0[24]\\d{5}|[1269]\\d{7}|[34]\\d{5,7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|2\\d{5,7}|[3679]\\d{7}|8\\d{5})|6(?:1\\d{6}|4\\d{5,7}|[237-9]\\d{5}|[56]\\d{7})|7[14]\\d{7}|9(?:1\\d{6}|[04]\\d{7}|[3-9]\\d{5})","\\d{5,10}",,,"2212345"] ,[,,"8(?:22\\d{6}|[35-9]\\d{7,8})","\\d{9,10}",,,"850123456"] ,[,,"1800\\d{6}","\\d{10}",,,"1800123456"] ,[,,"15(?:1[2-9]|[2-8]0|59|9[089])\\d{6}","\\d{10}",,,"1520123456"] @@ -1637,8 +1841,10 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"818\\d{6}","\\d{9}",,,"818123456"] ] -,"IL":[,[,,"[1-57-9]\\d{6,9}","\\d{7,10}"] +,"IL":[,[,,"[17]\\d{6,9}|[2-589]\\d{3}(?:\\d{3,6})?|6\\d{3}","\\d{4,10}"] ,[,,"(?:[2-489]|7[2-46-8])\\d{7}","\\d{7,9}",,,"21234567"] ,[,,"5[024679]\\d{7}","\\d{9}",,,"501234567"] ,[,,"1(?:80[01]\\d{3}|255)\\d{3}","\\d{7,10}",,,"1800123456"] @@ -1658,18 +1864,24 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ,[,"(1212)(\\d{2})(\\d{2})","$1-$2-$3",["121"] ,"$1",""] +,[,"(\\d{4})","*$1",["[2-689]"] +,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"1700\\d{6}|[2-689]\\d{3}","\\d{4,10}",,,"1700123456"] +,[,,"[2-689]\\d{3}","\\d{4}",,,"2250"] ] -,"IM":[,[,,"[15789]\\d{6,9}","\\d{6,10}"] +,"IM":[,[,,"[135789]\\d{6,9}","\\d{6,10}"] ,[,,"1624\\d{6}","\\d{6,10}",,,"1624456789"] ,[,,"7[569]24\\d{6}","\\d{10}",,,"7924123456"] -,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?",,,"8001234567"] -,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}",,,"9012345678"] -,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",,,"8431234567"] +,[,,"808162\\d{4}","\\d{10}",,,"8081624567"] +,[,,"(?:872299|90[0167]624)\\d{4}","\\d{10}",,,"9016247890"] +,[,,"8(?:4(?:40[49]06|5624\\d)|70624\\d)\\d{3}","\\d{10}",,,"8456247890"] ,[,,"70\\d{8}","\\d{10}",,,"7012345678"] ,[,,"56\\d{8}","\\d{10}",,,"5612345678"] -,"IM",44,"00","0"," x",,"0",,,,,,[,,"7624\\d{6}","\\d{10}",,,"7624123456"] +,"IM",44,"00","0"," x",,"0",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"3(?:08162\\d|3\\d{5}|4(?:40[49]06|5624\\d)|7(?:0624\\d|2299\\d))\\d{3}|55\\d{8}","\\d{10}",,,"5512345678"] ] ,"IN":[,[,,"[1-9]\\d{9,10}","\\d{6,11}"] ,[,,"(?:11|2[02]|33|4[04]|79|80)[2-6]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-6]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24-58]|7[23-689]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-6]\\d{5}","\\d{6,10}",,,"1123456789"] @@ -1703,10 +1915,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(1600)(\\d{2})(\\d{4})","$1 $2 $3",["160","1600"] ,"$1",""] -,[,"(1800)(\\d{2,3})(\\d{4})","$1 $2 $3",["180","1800"] +,[,"(18[06]0)(\\d{2,3})(\\d{4})","$1 $2 $3",["18[06]","18[06]0"] ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"1860345\\d{4}","\\d{11}",,,"18603451234"] ] ,"IO":[,[] ,[] @@ -1717,6 +1931,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"IO",246,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"IQ":[,[,,"[1-7]\\d{7,9}","\\d{6,10}"] ,[,,"1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}","\\d{6,9}",,,"12345678"] @@ -1734,21 +1950,25 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] -] -,"IR":[,[,,"[1-9]\\d{9}","\\d{7,10}"] -,[,,"[1-8]\\d{9}","\\d{7,10}",,,"2123456789"] -,[,,"9(?:1\\d|3[1-8])\\d{7}","\\d{10}",,,"9123456789"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] +] +,"IR":[,[,,"[2-6]\\d{4,9}|[1789]\\d{9}","\\d{5,10}"] +,[,,"2(?:1[2-9]\\d{2,7}|51\\d{3,7})|(?:241|3(?:11|5[23])|441|5[14]1)\\d{4,7}|(?:3(?:34|41)|6(?:11|52)|)\\d{6,7}|(?:1(?:[134589][12]|[27][1-4])|2(?:2[189]|[3689][12]|42|5[256]|7[34])|3(?:12|2[1-4]|3[125]|4[24-9]|51|[6-9][12])|4(?:[135-9][12]|2[1-467]|4[2-4])|5(?:12|2[89]|3[1-5]|4[2-8]|[5-7][12]|8[1245])|6(?:12|[347-9][12]|51|6[1-6])|7(?:[13589][12]|2[1289]|4[1-4]|6[1-6]|7[1-3])|8(?:[145][12]|3[124578]|6[1256]|7[1245]))\\d{7}","\\d{5,10}",,,"2123456789"] +,[,,"9(?:1\\d|3[124-8])\\d{7}","\\d{10}",,,"9123456789"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,[,,"993[12]\\d{6}","\\d{10}",,,"9932123456"] ,"IR",98,"00","0",,,"0",,,,[[,"(21)(\\d{4})(\\d{4})","$1 $2 $3",["21"] ,"0$1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[13-89]|2[02-9]"] ,"0$1",""] ] -,,[,,"NA","NA"] +,,[,,"943[24678]\\d{6}","\\d{10}",,,"9432123456"] +,,,[,,"NA","NA"] +,[,,"9990\\d{6}","\\d{10}",,,"9990123456"] ] ,"IS":[,[,,"[4-9]\\d{6}|38\\d{7}","\\d{7,9}"] ,[,,"(?: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"] @@ -1764,9 +1984,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"IT":[,[,,"[01389]\\d{5,10}","\\d{6,11}"] -,[,,"0\\d{7,10}","\\d{8,11}",,,"0212345678"] +,[,,"0(?:[26]\\d{4,9}|[13-57-9](?:[0159]\\d{4,8}|[2-46-8]\\d{5,8}))","\\d{6,11}",,,"0212345678"] ,[,,"3\\d{8,9}","\\d{9,10}",,,"312345678"] ,[,,"80(?:0\\d{6}|3\\d{3})","\\d{6,9}",,,"800123456"] ,[,,"89(?:2\\d{3}|9\\d{6})","\\d{6,9}",,,"899123456"] @@ -1777,15 +1999,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ,[,"(0[26])(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"] ,"",""] -,[,"(0[26])(\\d{6})","$1 $2",["0[26]"] +,[,"(0[26])(\\d{4,6})","$1 $2",["0[26]"] ,"",""] -,[,"(0\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0(?:[13-57-9][0159]|36)"] +,[,"(0\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"] ,"",""] -,[,"(0\\d{2})(\\d{5,6})","$1 $2",["0(?:[13-57-9][0159]|36)"] +,[,"(0\\d{2})(\\d{4,6})","$1 $2",["0[13-57-9][0159]"] ,"",""] -,[,"(0\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["0[13-57-9]"] +,[,"(0\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["0[13-57-9][2-46-8]"] ,"",""] -,[,"(0\\d{3})(\\d{4,6})","$1 $2",["0[13-57-9]"] +,[,"(0\\d{3})(\\d{4,6})","$1 $2",["0[13-57-9][2-46-8]"] ,"",""] ,[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13]|8(?:00|4[78])"] ,"",""] @@ -1793,8 +2015,10 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"JE":[,[,,"[15789]\\d{6,9}","\\d{6,10}"] +,"JE":[,[,,"[135789]\\d{6,9}","\\d{6,10}"] ,[,,"1534\\d{6}","\\d{6,10}",,,"1534456789"] ,[,,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}",,,"7797123456"] ,[,,"80(?:07(?:35|81)|8901)\\d{4}","\\d{10}",,,"8007354567"] @@ -1803,6 +2027,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"701511\\d{4}","\\d{10}",,,"7015115678"] ,[,,"56\\d{8}","\\d{10}",,,"5612345678"] ,"JE",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}",,,"7640123456"] +,,,[,,"NA","NA"] +,[,,"3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\d{4}|55\\d{8}","\\d{10}",,,"5512345678"] ] ,"JM":[,[,,"[89]\\d{9}","\\d{7,10}"] ,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7,10}",,,"8765123456"] @@ -1810,10 +2036,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"JM",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"876"] +,,"876",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"JO":[,[,,"[235-9]\\d{7,8}","\\d{8,9}"] ,[,,"[2356][2-8]\\d{6}","\\d{7,8}",,,"62001234"] ,[,,"7(?:[1-8]\\d|9[02-9])\\d{6}","\\d{9}",,,"790123456"] @@ -1830,9 +2058,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"JP":[,[,,"\\d{9,10}","\\d{9,10}"] -,[,,"(?:1(?:2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-578])|2[2-9]\\d|[36][1-9]\\d|4(?:6[0235-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}","\\d{9}",,,"312345678"] +,[,,"(?:1(?:1[236-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-8])|2[2-9]\\d|[36][1-9]\\d|4(?:6[0235-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}","\\d{9}",,,"312345678"] ,[,,"[7-9]0\\d{8}","\\d{10}",,,"7012345678"] ,[,,"120\\d{6}","\\d{9}",,,"120123456"] ,[,,"990\\d{6}","\\d{9}",,,"990123456"] @@ -1847,16 +2077,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["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])","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]))","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]))","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]))"] ,"0$1",""] -,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["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)","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])","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))"] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:23|5[5-89]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","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])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","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])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"] ,"0$1",""] ,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"] ,"0$1",""] -,[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])"] +,[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]"] ,"0$1",""] ,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479]"] ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KE":[,[,,"\\d{6,10}","\\d{4,10}"] ,[,,"(?:20|4[0-6]|5\\d|6[0-24-9])\\d{4,7}","\\d{4,9}",,,"202012345"] @@ -1872,6 +2104,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KG":[,[,,"[356-8]\\d{8}","\\d{5,9}"] ,[,,"(?:3(?:1(?:2\\d|3[1-9]|52|6[1-8])|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6[0-4])|5(?:22|3[4-7]|59|6[0-5])|6(?:22|5[35-7]|6[0-3])|7(?:22|3[468]|4[1-8]|59|6\\d|7[5-7])|9(?:22|4[1-7]|6[0-8]))|6(?:09|12|2[2-4])\\d)\\d{5}","\\d{5,9}",,,"312123456"] @@ -1887,6 +2121,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KH":[,[,,"[1-9]\\d{7,9}","\\d{6,10}"] ,[,,"(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])[2-47-9]\\d{5}","\\d{6,8}",,,"23456789"] @@ -1902,6 +2138,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KI":[,[] ,[] @@ -1912,6 +2150,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"KI",686,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KM":[,[,,"[37]\\d{6}","\\d{7}"] ,[,,"7(?:6[0-37-9]|7[0-57-9])\\d{4}","\\d{7}",,,"7712345"] @@ -1924,6 +2164,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"KM",269,"00",,,,,,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KN":[,[,,"[89]\\d{9}","\\d{7,10}"] ,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7,10}",,,"8692361234"] @@ -1931,10 +2173,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"KN",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"869"] +,,"869",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"KP":[,[] ,[] ,[] @@ -1944,9 +2188,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"KP",850,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"] -,[,,"1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))\\d{4}|(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}",,,"22123456"] +,[,,"(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}",,,"22123456"] ,[,,"1[0-25-9]\\d{7,8}","\\d{9,10}",,,"1023456789"] ,[,,"80\\d{7}","\\d{9}",,,"801234567"] ,[,,"60[2-9]\\d{6}","\\d{9}",,,"602345678"] @@ -1977,21 +2223,25 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))\\d{4}","\\d{8}",,,"15441234"] ] ,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"] ,[,,"(?:18\\d|2(?:[23]\\d{2}|4[1-35-9]\\d|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}",,,"22345678"] -,[,,"(?:5[05]|6[05-7]|9[0479])\\d{6}","\\d{8}",,,"50012345"] +,[,,"(?:5(?:0[02]|5\\d)|6(?:0[03679]|5[015-9]|6\\d|7[067])|9(?:0[09]|4[049]|[79]\\d))\\d{5}","\\d{8}",,,"50012345"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"KW",965,"00","0",,,"0",,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[1269]"] -,"0$1",""] +,"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[1269]"] +,"",""] ,[,"(5[05]\\d)(\\d{5})","$1 $2",["5"] -,"0$1",""] +,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KY":[,[,,"[389]\\d{9}","\\d{7,10}"] ,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7,10}",,,"3452221234"] @@ -1999,10 +2249,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}|345976\\d{4}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"KY",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"345"] +,,"345",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"] ,[,,"7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-7]|4[1235-9]|59)|4(?:2\\d|3[013-79]|4[0-58]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:22|[34]\\d|5[19])|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-4]|))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679]|)|3(?:[234]\\d|5[139]|)|4(?:22|3[1235-8])|5(?:[23]\\d|4[0124-8]|59)|6(?:22|3[1-9]|4[0-4]|59)|7(?:[23]\\d|40|5[279]|7\\d)|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[12478]|59))|3622)\\d{5}","\\d{10}",,,"7123456789"] ,[,,"7(?:0[01257]\\d{2}|1[2-578]9[01]|2(?:[13-6]9[01]|7(?:58|9[01]))|6[02-4]\\d{2}|7[157]\\d{2})\\d{5}|6\\d{9}","\\d{10}",,,"7129012345"] @@ -2012,6 +2264,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"KZ",7,"8~10","8",,,"8",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"] ,[,,"(?:[2-57]1|54)\\d{6}","\\d{6,8}",,,"21212862"] @@ -2029,6 +2283,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LB":[,[,,"[13-9]\\d{6,7}","\\d{7,8}"] ,[,,"(?:[14-6]\\d{2}|7(?:[2-57-9]\\d|62)|[89][2-9]\\d)\\d{4}","\\d{7}",,,"1123456"] @@ -2044,6 +2300,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LC":[,[,,"[789]\\d{9}","\\d{7,10}"] ,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7,10}",,,"7582345678"] @@ -2051,10 +2309,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"LC",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"758"] +,,"758",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -2073,6 +2333,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LK":[,[,,"[1-9]\\d{8}","\\d{7,9}"] ,[,,"(?:[189]1|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}","\\d{7,9}",,,"112345678"] @@ -2088,6 +2350,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LR":[,[,,"(?:[279]\\d|[4-6])\\d{6}","\\d{7,8}"] ,[,,"2\\d{7}","\\d{8}",,,"21234567"] @@ -2103,6 +2367,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LS":[,[,,"[2568]\\d{7}","\\d{8}"] ,[,,"2\\d{7}","\\d{8}",,,"22123456"] @@ -2115,6 +2381,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"LS",266,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LT":[,[,,"[3-9]\\d{7}","\\d{8}"] ,[,,"(?:3[1478]|4[124-6]|52)\\d{6}","\\d{8}",,,"31234567"] @@ -2132,16 +2400,39 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 $1",""] ] ,,[,,"NA","NA"] -] -,"LU":[,[] -,[] -,[] -,[,,"NA","NA"] -,[,,"NA","NA"] -,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] +] +,"LU":[,[,,"[24-9]\\d{3,10}|3(?:[0-46-9]\\d{2,9}|5[013-9]\\d{1,8})","\\d{4,11}"] +,[,,"(?:2(?:2\\d{1,2}|3[2-9]|[67]\\d|4[1-8]\\d?|5[1-5]\\d?|9[0-24-9]\\d?)|3(?:[059][05-9]|[13]\\d|[26][015-9]|4[0-26-9]|7[0-389]|8[08])\\d?|4\\d{2,3}|5(?:[01458]\\d|[27][0-69]|3[0-3]|[69][0-7])\\d?|7(?:1[019]|2[05-9]|3[05]|[45][07-9]|[679][089]|8[06-9])\\d?|8(?:0[2-9]|1[0-36-9]|3[3-9]|[469]9|[58][7-9]|7[89])\\d?|9(?:0[89]|2[0-49]|37|49|5[0-27-9]|7[7-9]|9[0-478])\\d?)\\d{1,7}","\\d{4,11}",,,"27123456"] +,[,,"6[269][18]\\d{6}","\\d{9}",,,"628123456"] +,[,,"800\\d{5}","\\d{8}",,,"80012345"] +,[,,"90[01]\\d{5}","\\d{8}",,,"90012345"] +,[,,"801\\d{5}","\\d{8}",,,"80112345"] +,[,,"70\\d{6}","\\d{8}",,,"70123456"] +,[,,"20\\d{2,8}","\\d{4,10}",,,"2012345"] +,"LU",352,"00",,,,"15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\\d",,,,[[,"(\\d{2})(\\d{3})","$1 $2",["[23-5]|7[1-9]|[89](?:[1-9]|0[2-9])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[23-5]|7[1-9]|[89](?:[1-9]|0[2-9])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,4})","$1 $2 $3 $4",["2(?:[12589]|4[12])|[3-5]|7[1-9]|[89](?:[1-9]|0[2-9])"] +,"",""] +,[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0[01]|70"] +,"",""] +,[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"] +,"",""] +] +,,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"LU",352,"00",,,,,,,1,,,[,,"NA","NA"] ] ,"LV":[,[,,"[2689]\\d{7}","\\d{8}"] ,[,,"6\\d{7}","\\d{8}",,,"61234567"] @@ -2154,16 +2445,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"LV",371,"00",,,,,,,,[[,"([2689]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"LY":[,[] -,[] -,[] +,"LY":[,[,,"[25679]\\d{8}","\\d{7,9}"] +,[,,"(?:2[1345]|5[1347]|6[123479]|71)\\d{7}","\\d{7,9}",,,"212345678"] +,[,,"9[12356]\\d{7}","\\d{9}",,,"912345678"] +,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,"LY",218,"00","0",,,"0",,,,[[,"([25679]\\d)(\\d{7})","$1-$2",,"0$1",""] +] +,,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"LY",218,"00","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"MA":[,[,,"[5689]\\d{8}","\\d{9}"] ,[,,"5(?:2(?:(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-8]|8[235-9]|)\\d|9(?:0\\d|[89]0))|3(?:(?:[0-4]\\d|[57][2-9]|6[235-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}",,,"520123456"] @@ -2183,16 +2480,27 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"MC":[,[] -,[] -,[] +,"MC":[,[,,"[4689]\\d{7,8}","\\d{8,9}"] +,[,,"9[2-47-9]\\d{6}","\\d{8}",,,"99123456"] +,[,,"6\\d{8}|4\\d{7}","\\d{8,9}",,,"612345678"] +,[,,"(?:8\\d|90)\\d{6}","\\d{8}",,,"90123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,"MC",377,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"] +,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"] +,"0$1",""] +,[,"(6)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"] +,"0$1",""] +] +,,[,,"NA","NA"] +,,,[,,"8\\d{7}","\\d{8}"] ,[,,"NA","NA"] -,"MC",377,"00","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"MD":[,[,,"[256-9]\\d{7}","\\d{8}"] ,[,,"(?:2(?:1[0569]|2\\d|3[015-7]|4[1-46-9]|5[0-24689]|6[2-589]|7[1-37]|9[1347-9])|5(?:33|5[257]))\\d{5}","\\d{5,8}",,,"22212345"] @@ -2210,6 +2518,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ME":[,[] ,[] @@ -2220,6 +2530,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"ME",382,"99","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MG":[,[,,"[23]\\d{8}","\\d{7,9}"] ,[,,"2(?:0(?:(?:2\\d|4[47]|5[3467]|6[279]|8[268]|9[245])\\d|7(?:2[29]|[35]\\d))|210\\d)\\d{4}","\\d{7,9}",,,"202123456"] @@ -2232,6 +2544,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MG",261,"00","0",,,"0",,,,[[,"([23]\\d)(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MF":[,[,,"[56]\\d{8}","\\d{9}"] ,[,,"590(?:10|2[79]|5[128]|[78]7)\\d{4}","\\d{9}",,,"590271234"] @@ -2242,6 +2556,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MF",590,"00","0",,,"0",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MH":[,[] ,[] @@ -2252,6 +2568,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MH",692,"011","1",,,"1",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MK":[,[,,"[2-578]\\d{7}","\\d{8}"] ,[,,"(?:2(?:[23]\\d|5[125]|61)|3(?:1[3-6]|2[2-6]|3[2-5]|4[235])|4(?:[23][2-6]|4[3-6]|5[25]|6[25-8]|7[24-6]|8[4-6]))\\d{5}","\\d{6,8}",,,"22212345"] @@ -2269,6 +2587,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ML":[,[,,"[246-8]\\d{7}","\\d{8}"] ,[,,"(?:2(?:0(?:2[0-589]|7[027-9])|1(?:2[5-7]|[3-689]\\d))|442\\d)\\d{4}","\\d{8}",,,"20212345"] @@ -2281,6 +2601,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ML",223,"00","0",,,"0",,,,[[,"([246-8]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MM":[,[,,"[124-8]\\d{5,7}|9\\d{7,8}","\\d{5,9}"] ,[,,"(?:1\\d|2|4[2-6]|5[2-9]|6\\d|7[0-5]|8[1-6])\\d{5}|1333\\d{4}","\\d{5,8}",,,"1234567"] @@ -2304,6 +2626,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MN":[,[,,"[12]\\d{7,9}|[57-9]\\d{7}","\\d{8,10}"] ,[,,"[12](?:1\\d|2(?:[1-3]\\d?|7\\d)|3[2-8]\\d{1,2}|4[2-68]\\d{1,2}|5[1-4689]\\d{1,2})\\d{5}|(?:5[0568]|70)\\d{6}","\\d{8,10}",,,"70123456"] @@ -2325,6 +2649,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MO":[,[,,"[268]\\d{7}","\\d{8}"] ,[,,"(?:28[2-57-9]|8[2-57-9]\\d)\\d{5}","\\d{8}",,,"28212345"] @@ -2337,6 +2663,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MO",853,"00",,,,,,,,[[,"([268]\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MP":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}",,,"6702345678"] @@ -2344,10 +2672,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"MP",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"670"] +,,"670",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"MQ":[,[] ,[] ,[] @@ -2357,6 +2687,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MR":[,[,,"[2-4]\\d{6,7}|[5-7]\\d{6}|8\\d{7}","\\d{7,8}"] ,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}|[2-4]5\\d{6}","\\d{7,8}",,,"35123456"] @@ -2372,6 +2704,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MS":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"664491\\d{4}","\\d{7,10}",,,"6644912345"] @@ -2379,10 +2713,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"MS",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"664"] +,,"664",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"MT":[,[,,"[2579]\\d{7}","\\d{8}"] ,[,,"2(?:0(?:1[0-6]|[69]\\d)|[1-357]\\d{2})\\d{4}","\\d{8}",,,"21001234"] ,[,,"(?:7(?:210|[79]\\d{2}|)|9(?:2[13]\\d|696|8(?:1[1-3]|89|97)|9\\d{2}))\\d{4}","\\d{8}",,,"96961234"] @@ -2394,6 +2730,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MT",356,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""] ] ,,[,,"7117\\d{4}","\\d{8}",,,"71171234"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MU":[,[,,"[2-9]\\d{6}","\\d{7}"] ,[,,"(?:2(?:[034789]\\d|1[0-8]|2[0-79])|4(?:[013-8]\\d|2[4-7])|[56]\\d{2}|8(?:14|3[129]))\\d{4}","\\d{7}",,,"2012345"] @@ -2406,6 +2744,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MU",230,"020",,,,,,,,[[,"([2-9]\\d{2})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MV":[,[,,"[3679]\\d{6}","\\d{7}"] ,[,,"(?:3(?:00|3[0-59]|)|6(?:[567][02468]|8[024689]))\\d{4}","\\d{7}",,,"6701234"] @@ -2418,6 +2758,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",,"",""] ] ,,[,,"781\\d{4}","\\d{7}",,,"7812345"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MW":[,[,,"(?:[13-5]|[27]\\d{2}|[89](?:\\d{2})?)\\d{6}","\\d{7,9}"] ,[,,"(?:1[2-9]|21\\d{2})\\d{5}","\\d{7,9}",,,"1234567"] @@ -2437,6 +2779,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MX":[,[,,"[1-9]\\d{9,10}","\\d{7,11}"] ,[,,"(?:33|55|81)\\d{8}|(?:2(?:2[2-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-58]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[234][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-8]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7}","\\d{7,10}",,,"2221234567"] @@ -2465,6 +2809,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MY":[,[,,"[13-9]\\d{7,9}","\\d{6,10}"] ,[,,"(?:3\\d{2}|[4-79]\\d|8[2-9])\\d{6}","\\d{6,9}",,,"312345678"] @@ -2486,6 +2832,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MZ":[,[,,"[28]\\d{7,8}","\\d{8,9}"] ,[,,"2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}","\\d{8}",,,"21123456"] @@ -2501,6 +2849,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NA":[,[,,"[68]\\d{7,8}","\\d{8,9}"] ,[,,"6(?:1(?:17|2(?:[0189]\\d|[23-6]|7\\d?)|3(?:2\\d|3[378])|4[01]|69|7[014])|2(?:17|25|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[29]|7[01]|81)|4(?:17|2(?:[012]|7?)|4(?:[06]|1\\d)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|69|7[01]))\\d{4}","\\d{8,9}",,,"612012345"] @@ -2520,6 +2870,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NC":[,[] ,[] @@ -2530,6 +2882,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NC",687,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NE":[,[,,"[029]\\d{7}","\\d{8}"] ,[,,"2(?:0(?:20|3[1-7]|4[134]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}","\\d{8}",,,"20201234"] @@ -2545,6 +2899,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NF":[,[] ,[] @@ -2555,10 +2911,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NF",672,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NG":[,[,,"[1-69]\\d{5,8}|[78]\\d{5,13}","\\d{5,14}"] ,[,,"[12]\\d{6,7}|9\\d{7}|(?:4[023568]|5[02368]|6[02-469]|7[569]|8[2-9])\\d{6}|(?:4[47]|5[14579]|6[1578]|7[0-357])\\d{5,6}|(?:78|41)\\d{5}","\\d{5,9}",,,"12345678"] -,[,,"(?:70[3-9]|8(?:0[2-9]|1[23]))\\d{7}|(?:702[1-9]|819[01])\\d{6}","\\d{10}",,,"8021234567"] +,[,,"(?:70(?:[3-9]\\d|2[1-9])|8(?:0[2-9]|1[23689])\\d)\\d{6}","\\d{10}",,,"8021234567"] ,[,,"800\\d{7,11}","\\d{10,14}",,,"80017591759"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2568,9 +2926,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"([3-8]\\d)(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-6]|7(?:[1-79]|0[1-9])|8[2-9]"] ,"0$1",""] -,[,"([78]\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["70[03-9]|8(?:0|1[23])"] -,"0$1",""] -,[,"([78]\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["702|819"] +,[,"([78]\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["70|8[01]"] ,"0$1",""] ,[,"([78]00)(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]00"] ,"0$1",""] @@ -2580,6 +2936,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NI":[,[] ,[] @@ -2590,6 +2948,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NI",505,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NL":[,[,,"[1-9]\\d{6,9}","\\d{7,10}"] ,[,,"(?:1[0135-8]|2[02-69]|3[0-68]|4[0135-9]|[57]\\d|8[478])\\d{7}","\\d{9}",,,"101234567"] @@ -2609,6 +2969,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"] ,[,,"0\\d{4}|(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7\\d)\\d{6}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"21234567"] @@ -2624,6 +2986,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NP":[,[,,"[1-8]\\d{5,7}|98[45]\\d{7}","\\d{6,10}"] ,[,,"(?:1[014-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-4679]|9[1-79])\\d{6}","\\d{6,8}",,,"14567890"] @@ -2641,6 +3005,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NR":[,[] ,[] @@ -2651,6 +3017,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NR",674,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NU":[,[,,"[1-5]\\d{3}","\\d{4}"] ,[,,"[34]\\d{3}","\\d{4}",,,"4002"] @@ -2661,27 +3029,31 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NU",683,"00",,,,,,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"] -,[,,"(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}|24099\\d{3}","\\d{7,8}",,,"32345678"] -,[,,"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})","\\d{8,10}",,,"211234567"] -,[,,"(?:800|508)\\d{6,7}","\\d{9,10}",,,"800123456"] -,[,,"900\\d{6,7}","\\d{9,10}",,,"900123456"] +,"NZ":[,[,,"6[235-9]\\d{6}|[2-57-9]\\d{7,10}","\\d{7,11}"] +,[,,"(?:3[2-79]|[49][2-689]|6[235-9]|7[2-589])\\d{6}|24099\\d{3}","\\d{7,8}",,,"32345678"] +,[,,"2(?:[079]\\d{7}|1(?:0\\d{5,7}|[12]\\d{5,6}|[3-9]\\d{5})|[28]\\d{7,8}|4[1-9]\\d{6})","\\d{8,10}",,,"211234567"] +,[,,"508\\d{6,7}|80\\d{6,8}","\\d{8,10}",,,"800123456"] +,[,,"90\\d{7,9}","\\d{9,11}",,,"900123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"NZ",64,"00","0",,,"0",,,,[[,"([34679])(\\d{3})(\\d{4})","$1-$2 $3",["[3467]|9[1-9]"] +,"NZ",64,"0(?:0|161)","0",,,"0",,"00",,[[,"([34679])(\\d{3})(\\d{4})","$1-$2 $3",["[3467]|9[1-9]"] ,"0$1",""] ,[,"(21)(\\d{4})(\\d{3,4})","$1 $2 $3",["21"] ,"0$1",""] ,[,"([2589]\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[0247-9]|5|[89]00"] ,"0$1",""] -,[,"(2[019])(\\d{3})(\\d{3})","$1 $2 $3",["2[019]"] +,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[0169]|86"] ,"0$1",""] ,[,"(24099)(\\d{3})","$1 $2",["240","2409","24099"] ,"0$1",""] ] -,,[,,"NA","NA"] +,,[,,"[28]6\\d{6,7}","\\d{8,9}",,,"26123456"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"OM":[,[,,"(?:2[3-6]|5|9[2-9])\\d{6}|800\\d{5,6}","\\d{7,9}"] ,[,,"2[3-6]\\d{6}","\\d{8}",,,"23123456"] @@ -2699,6 +3071,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PA":[,[] ,[] @@ -2709,6 +3083,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PA",507,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PE":[,[,,"[14-9]\\d{7,8}","\\d{6,9}"] ,[,,"(?:1\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}","\\d{6,8}",,,"11234567"] @@ -2726,6 +3102,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PF":[,[] ,[] @@ -2736,6 +3114,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PF",689,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"] ,[,,"(?:3\\d{2}|4[257]\\d|5[34]\\d|6(?:29|4[1-9])|85[02-46-9]|9[78]\\d)\\d{4}","\\d{7}",,,"3123456"] @@ -2751,6 +3131,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PH":[,[,,"[2-9]\\d{7,9}|1800\\d{7,9}","\\d{7,13}"] ,[,,"(?:2|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578]|8[2-8])\\d{7}","\\d{7,9}",,,"21234567"] @@ -2776,18 +3158,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PK":[,[,,"1\\d{8}|[2-8]\\d{5,11}|9(?:[013-9]\\d{4,9}|2\\d(?:111\\d{6}|\\d{3,7}))","\\d{6,12}"] ,[,,"(?:21|42)[2-9]\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}|58[126]\\d{7}","\\d{6,10}",,,"2123456789"] ,[,,"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])|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"] +,[,,"NA","NA"] ,[,,"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"] ,"(0$1)",""] -,[,"(\\d{3})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["(?:2[349]|45|54|60|72|8[2-5]|9[2-9])","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d1","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d11","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d111"] +,[,"(\\d{3})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[349]|45|54|60|72|8[2-5]|9[2-9]","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d1","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d11","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d111"] ,"(0$1)",""] ,[,"(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"] ,"(0$1)",""] @@ -2803,6 +3187,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"(?: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"] ] ,"PL":[,[,,"[1-9]\\d{8}","\\d{9}"] ,[,,"(?:1[2-8]|2[2-59]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])\\d{7}","\\d{9}",,,"123456789"] @@ -2818,6 +3204,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PM":[,[] ,[] @@ -2828,6 +3216,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PM",508,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PR":[,[,,"[789]\\d{9}","\\d{7,10}"] ,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}",,,"7872345678"] @@ -2835,12 +3225,14 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"PR",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"787|939"] -,"PS":[,[,,"(?:[24589]\\d{7,9}|1(?:[78]\\d{8}|[49]\\d{2,3}))","\\d{4,10}"] -,[,,"(?:22[2379]|42[45]|82[01458]|92[369])\\d{5}","\\d{7,8}",,,"22234567"] +,,"787|939",[,,"NA","NA"] +,[,,"NA","NA"] +] +,"PS":[,[,,"[24589]\\d{7,8}|1(?:[78]\\d{8}|[49]\\d{2,3})","\\d{4,10}"] +,[,,"(?:22[234789]|42[45]|82[01458]|92[369])\\d{5}","\\d{7,8}",,,"22234567"] ,[,,"5[69]\\d{7}","\\d{9}",,,"599123456"] ,[,,"1800\\d{6}","\\d{10}",,,"1800123456"] ,[,,"1(?:4|9\\d)\\d{2}","\\d{4,5}",,,"19123"] @@ -2855,10 +3247,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PT":[,[,,"[2-46-9]\\d{8}","\\d{9}"] ,[,,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}","\\d{9}",,,"212345678"] -,[,,"9(?:[136]\\d{2}|2[25-79]\\d|4(?:80|9\\d))\\d{5}","\\d{9}",,,"912345678"] +,[,,"9(?:[136]\\d{2}|2[124-79]\\d|4(?:80|9\\d))\\d{5}","\\d{9}",,,"912345678"] ,[,,"4\\d{8}|80[02]\\d{6}","\\d{9}",,,"800123456"] ,[,,"71\\d{7}","\\d{9}",,,"712345678"] ,[,,"808\\d{6}","\\d{9}",,,"808123456"] @@ -2867,6 +3261,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"PT",351,"00",,,,,,,,[[,"([2-46-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PW":[,[] ,[] @@ -2877,6 +3273,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PW",680,"011",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PY":[,[] ,[] @@ -2887,6 +3285,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PY",595,"002","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"QA":[,[,,"[3-8]\\d{6,7}","\\d{7,8}"] ,[,,"44\\d{6}","\\d{7,8}",,,"44123456"] @@ -2902,6 +3302,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"RE":[,[,,"[268]\\d{8}","\\d{9}"] ,[,,"262\\d{6}","\\d{9}",,,"262161234"] @@ -2914,7 +3316,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] ] ,,[,,"NA","NA"] -,1,"262|6[49]|8"] +,1,"262|6[49]|8",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"RO":[,[,,"[237-9]\\d{8}","\\d{9}"] ,[,,"[23][13-6]\\d{7}","\\d{9}",,,"211234567"] ,[,,"7[1-8]\\d{7}","\\d{9}",,,"712345678"] @@ -2929,6 +3333,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"RS":[,[,,"[1-46-9]\\d{4,11}","\\d{5,12}"] ,[,,"[1-3]\\d{6,9}","\\d{5,10}",,,"1012345"] @@ -2948,12 +3354,14 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"RU":[,[,,"[3489]\\d{9}","\\d{10}"] ,[,,"(?:3(?:0[12]|4[1-35-79]|5[1-3]|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-7]|7[1-37-9]))\\d{7}","\\d{10}",,,"3011234567"] ,[,,"9\\d{9}","\\d{10}",,,"9123456789"] -,[,,"800\\d{7}","\\d{10}",,,"8001234567"] -,[,,"809\\d{7}","\\d{10}",,,"8091234567"] +,[,,"80[04]\\d{7}","\\d{10}",,,"8001234567"] +,[,,"80[39]\\d{7}","\\d{10}",,,"8091234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2963,7 +3371,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 ($1)",""] ] ,,[,,"NA","NA"] -,1] +,1,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"RW":[,[,,"[27-9]\\d{8}","\\d{9}"] ,[,,"25\\d{7}","\\d{9}",,,"250123456"] ,[,,"7[258]\\d{7}","\\d{9}",,,"720123456"] @@ -2978,6 +3388,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SA":[,[,,"[1-9]\\d{7,10}","\\d{7,11}"] ,[,,"(?:1[24-7]|2[24-8]|3[35-8]|4[34-68]|6[2-5]|7[235-7])\\d{6}","\\d{7,8}",,,"12345678"] @@ -2999,6 +3411,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SB":[,[] ,[] @@ -3009,6 +3423,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SC":[,[,,"[2-8]\\d{5,6}","\\d{6,7}"] ,[,,"(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|5(?:5\\d|6[0-2])|6(?:0[0-27-9]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])|78[0138])\\d{3}","\\d{6}",,,"217123"] @@ -3024,6 +3440,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SD":[,[,,"[19]\\d{8}","\\d{9}"] ,[,,"1(?:[25]\\d|8[3567])\\d{6}","\\d{9}",,,"121231234"] @@ -3036,6 +3454,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"SD",249,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SE":[,[,,"\\d{7,10}","\\d{5,10}"] ,[,,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0-38]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[01-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|1[1-5]|2[0-68]|3[0-4]|4\\d|5[0-5]|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0\\d{5,7}|(?:1[0-68]|2\\d|3[02-59]|4[0-4]|5[0-4]|6[01]|7[0135-8]|8[01])\\d{5,6})","\\d{5,9}",,,"8123456"] @@ -3045,27 +3465,46 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"77\\d{7}","\\d{9}",,,"771234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"SE",46,"00","0",,,"0",,,,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"] +,"SE",46,"00","0",,,"0",,,,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1-$2 $3 $4",["8"] ,"0$1",""] -,[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"] +,[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"] ,"0$1",""] -,[,"([1-69]\\d)(\\d{3})(\\d{2})","$1 $2 $3",["1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90"] +,[,"([1-69]\\d)(\\d{3})(\\d{2})","$1-$2 $3",["1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90"] ,"0$1",""] -,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["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])"] +,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["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])"] ,"0$1",""] -,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["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])"] +,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["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])"] ,"0$1",""] -,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-467]"] +,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7[02-467]"] ,"0$1",""] -,[,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"] +,[,"(20)(\\d{2,3})(\\d{2})","$1-$2 $3",["20"] ,"0$1",""] -,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"] +,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9[034]"] ,"0$1",""] ] -,,[,,"NA","NA"] +,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"] +,,""] +,[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"] +,,""] +,[,"([1-69]\\d)(\\d{3})(\\d{2})","$1 $2 $3",["1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90"] +,,""] +,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["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])"] +,,""] +,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["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])"] +,,""] +,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-467]"] +,,""] +,[,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"] +,,""] +,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"] +,,""] +] +,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SG":[,[,,"[36]\\d{7}|[17-9]\\d{7,10}","\\d{8,11}"] -,[,,"6[1-8]\\d{6}|7000\\d{7}","\\d{8,11}",,,"61234567"] +,[,,"6[1-8]\\d{6}","\\d{8}",,,"61234567"] ,[,,"(?:8[1-5]|9[0-8])\\d{6}","\\d{8}",,,"81234567"] ,[,,"1?800\\d{7}","\\d{10,11}",,,"18001234567"] ,[,,"1900\\d{7}","\\d{11}",,,"19001234567"] @@ -3082,6 +3521,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"7000\\d{7}","\\d{11}",,,"70001234567"] ] ,"SH":[,[] ,[] @@ -3092,6 +3533,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SH",290,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SI":[,[,,"[1-7]\\d{6,7}|[89]\\d{4,7}","\\d{5,8}"] ,[,,"(?:1\\d|2[2-8]|3[4-8]|4[24-8]|[57][3-8])\\d{6}","\\d{7,8}",,,"11234567"] @@ -3111,6 +3554,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"] ,[,,"[2-5]\\d{8}","\\d{9}",,,"212345678"] @@ -3128,6 +3573,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SL":[,[,,"[2-578]\\d{7}","\\d{6,8}"] ,[,,"[235]2[2-4][2-9]\\d{4}","\\d{6,8}",,,"22221234"] @@ -3140,16 +3587,34 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"SL",232,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",,"(0$1)",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"SM":[,[] -,[] -,[] +,"SM":[,[,,"[05-7]\\d{7,9}","\\d{6,10}"] +,[,,"0549(?:8[0157-9]|9\\d)\\d{4}","\\d{6,10}",,,"0549886377"] +,[,,"6[16]\\d{6}","\\d{8}",,,"66661212"] ,[,,"NA","NA"] +,[,,"7[178]\\d{6}","\\d{8}",,,"71123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,[,,"5[158]\\d{6}","\\d{8}",,,"58001110"] +,"SM",378,"00",,,,"(?:0549)?([89]\\d{5})","0549$1",,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"] +,"",""] +,[,"(0549)(\\d{6})","$1 $2",["0"] +,"",""] +,[,"(\\d{6})","0549 $1",["[89]"] +,"",""] +] +,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"] +,,""] +,[,"(0549)(\\d{6})","($1) $2",["0"] +,,""] +,[,"(\\d{6})","(0549) $1",["[89]"] +,,""] +] ,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"SM",378,"00","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"SN":[,[,,"[37]\\d{8}","\\d{9}"] ,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}",,,"301012345"] @@ -3162,6 +3627,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"SN",221,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SO":[,[,,"[13-59]\\d{6,7}","\\d{7,8}"] ,[,,"(?:5[57-9]|[134]\\d)\\d{5}","\\d{7}",,,"5522010"] @@ -3177,6 +3644,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SR":[,[] ,[] @@ -3187,6 +3656,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SR",597,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ST":[,[,,"[29]\\d{6}","\\d{7}"] ,[,,"22\\d{5}","\\d{7}",,,"2221234"] @@ -3199,6 +3670,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ST",239,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SV":[,[] ,[] @@ -3209,6 +3682,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SV",503,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SY":[,[,,"[1-59]\\d{7,8}","\\d{6,9}"] ,[,,"(?:1(?:1\\d?|4\\d|[2356])|2[1-35]|3(?:1\\d|[34])|4[13]|5[1-3])\\d{6}","\\d{6,9}",,,"112345678"] @@ -3224,6 +3699,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SZ":[,[,,"[02-7]\\d{6,7}","\\d{7,8}"] ,[,,"2?(?:2(?:0[07]|[13]7|2[57])|3(?:0[34]|[1278]3|3[23]|[46][34])|(?:40[4-69]|16|2[12]|3[57]|[4578]2|67)|5(?:0[5-7]|1[6-9]|[23][78]|48|5[01]))\\d{4}","\\d{7,8}",,,"2171234"] @@ -3239,6 +3716,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"0800\\d{4}","\\d{8}",,,"08001234"] +,[,,"NA","NA"] ] ,"TC":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7,10}",,,"6497121234"] @@ -3246,10 +3725,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"64971[01]\\d{4}","\\d{10}",,,"6497101234"] ,"TC",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"649"] +,,"649",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -3261,6 +3742,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TD",235,"00|16",,,,,,"00",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TF":[,[] ,[] @@ -3271,6 +3754,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TF",262,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TG":[,[,,"[02-9]\\d{6}","\\d{7}"] ,[,,"(?:2[2-7]|3[23]|44|55|66|77)\\d{5}","\\d{7}",,,"2212345"] @@ -3283,6 +3768,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TG",228,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TH":[,[,,"[2-8]\\d{7,8}|1\\d{9}","\\d{8,10}"] ,[,,"(?:2[1-9]|3[24-9]|4[2-5]|5[3-6]|7[3-7])\\d{6}","\\d{8}",,,"21234567"] @@ -3302,6 +3789,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TJ":[,[,,"[349]\\d{8}","\\d{3,9}"] ,[,,"(?:3(?:1[3-5]|2[245]|31|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}","\\d{3,9}",,,"372123456"] @@ -3321,6 +3810,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TK":[,[] ,[] @@ -3331,6 +3822,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TK",690,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TL":[,[,,"[2-47-9]\\d{6}","\\d{7}"] ,[,,"(?:2[1-5]|3[1-9]|4[1-4])\\d{5}","\\d{7}",,,"2112345"] @@ -3343,6 +3836,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TL",670,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TM":[,[,,"[1-6]\\d{7}","\\d{8}"] ,[,,"(?:12\\d|243|[3-5]22)\\d{5}","\\d{8}",,,"12345678"] @@ -3355,6 +3850,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TM",993,"8~10","8",,,"8",,,,[[,"([1-6]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TN":[,[,,"[247-9]\\d{7}","\\d{8}"] ,[,,"7\\d{7}","\\d{8}",,,"71234567"] @@ -3367,6 +3864,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TN",216,"00",,,,,,,,[[,"([247-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TO":[,[] ,[] @@ -3377,6 +3876,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TO",676,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TR":[,[,,"[2-589]\\d{9}","\\d{10}"] ,[,,"[2-4]\\d{9}|850\\d{7}","\\d{10}",,,"2123456789"] @@ -3389,6 +3890,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TR",90,"00","0",,,"0",,,,[[,"([2-589]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TT":[,[,,"[89]\\d{9}","\\d{7,10}"] ,[,,"868(?:2(?:01|2[1-4])|6(?:1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}",,,"8682211234"] @@ -3396,10 +3899,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"TT",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"868"] +,,"868",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"TV":[,[] ,[] ,[] @@ -3409,6 +3914,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TV",688,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TW":[,[,,"[2-9]\\d{7,8}","\\d{8,9}"] ,[,,"[2-8]\\d{7,8}","\\d{8,9}",,,"21234567"] @@ -3424,10 +3931,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TZ":[,[,,"\\d{9}","\\d{7,9}"] ,[,,"2[2-8]\\d{7}","\\d{7,9}",,,"222345678"] -,[,,"(?:6[158]|7[1-9])(?:\\d{7})","\\d{9}",,,"612345678"] +,[,,"(?:6[158]|7[1-9])\\d{7}","\\d{9}",,,"612345678"] ,[,,"80[08]\\d{6}","\\d{9}",,,"800123456"] ,[,,"90\\d{7}","\\d{9}",,,"900123456"] ,[,,"8(?:40|6[01])\\d{6}","\\d{9}",,,"840123456"] @@ -3441,6 +3950,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"UA":[,[,,"[3-689]\\d{8}","\\d{5,9}"] ,[,,"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}","\\d{5,9}",,,"311234567"] @@ -3458,6 +3969,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"UG":[,[,,"\\d{9}","\\d{5,9}"] ,[,,"3\\d{8}|4(?:[1-6]\\d|7[136]|8[1356]|96)\\d{6}|20(?:0\\d|24)\\d{5}","\\d{5,9}",,,"312345678"] @@ -3475,14 +3988,16 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"US":[,[,,"[2-9]\\d{9}","\\d{7,10}"] -,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|69|7[089]|8[04])|5(?:0[1-57-9]|1[0235-8]|[23]0|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[167]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}",,,"2012345678"] -,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|69|7[089]|8[04])|5(?:0[1-57-9]|1[0235-8]|[23]0|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[167]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}",,,"2012345678"] +,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}",,,"2012345678"] +,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}",,,"2012345678"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"US",1,"011","1",,,"1",,,1,[[,"(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",,"",""] ,[,"(\\d{3})(\\d{4})","$1-$2",,"",""] @@ -3490,7 +4005,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",,,""] ] ,[,,"NA","NA"] -,1] +,1,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"UY":[,[] ,[] ,[] @@ -3500,6 +4017,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"UY",598,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"UZ":[,[,,"[679]\\d{8}","\\d{7,9}"] ,[,,"(?:6[125679]|7[0-69])\\d{7}","\\d{7,9}",,,"612345678"] @@ -3512,6 +4031,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"UZ",998,"8~10","8",,,"8",,,,[[,"([679]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VA":[,[,,"06\\d{8}","\\d{10}"] ,[,,"06698\\d{5}","\\d{10}",,,"0669812345"] @@ -3524,6 +4045,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"VA",379,"00",,,,,,,,[[,"(06)(\\d{4})(\\d{4})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VC":[,[,,"(?:784|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"] ,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7,10}",,,"7842661234"] @@ -3531,10 +4054,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"VC",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"784"] +,,"784",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] @@ -3546,6 +4071,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"VE",58,"00","0",,,"1\\d{2}|0",,,,[[,"(\\d{3})(\\d{7})","$1-$2",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VG":[,[,,"(?:284|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"] ,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7,10}",,,"2842291234"] @@ -3553,20 +4080,24 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"VG",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"284"] +,,"284",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}",,,"5002345678"] ,[,,"NA","NA"] ,"VI",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"340"] +,,"340",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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\\d|6[3-9]|88|99))\\d{7}","\\d{9,10}",,,"912345678"] @@ -3593,6 +4124,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VU":[,[] ,[] @@ -3603,6 +4136,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"VU",678,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"WF":[,[] ,[] @@ -3613,6 +4148,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"WF",681,"19",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"WS":[,[,,"[2-8]\\d{4,6}","\\d{5,7}"] ,[,,"(?:[2-5]\\d|6[1-9]|840\\d)\\d{3}","\\d{5,7}",,,"22123"] @@ -3628,6 +4165,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"YE":[,[,,"[1-7]\\d{6,8}","\\d{6,9}"] ,[,,"(?:1(?:7\\d|[2-68])|2[2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}","\\d{6,8}",,,"1234567"] @@ -3643,6 +4182,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"YT":[,[,,"[268]\\d{8}","\\d{9}"] ,[,,"2696[0-4]\\d{4}","\\d{9}",,,"269601234"] @@ -3653,7 +4194,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"YT",262,"00","0",,,"0",,,,,,[,,"NA","NA"] -,,"269|63"] +,,"269|63",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"ZA":[,[,,"\\d{9}","\\d{8,9}"] ,[,,"(?:1[0-8]|2[1-478]|3[1-69]|4\\d|5[1346-8])\\d{7}","\\d{8,9}",,,"101234567"] ,[,,"(?:7[1-4689]|8[1-5789])\\d{7}","\\d{9}",,,"711234567"] @@ -3668,6 +4211,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ZM":[,[,,"[289]\\d{8}","\\d{9}"] ,[,,"21[1-8]\\d{6}","\\d{9}",,,"211234567"] @@ -3683,6 +4228,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ZW":[,[,,"2(?:[012457-9]\\d{3,8}|6\\d{3,6})|[13-79]\\d{4,8}|86\\d{8}","\\d{3,10}"] ,[,,"(?:1[3-9]|2(?:0[45]|[16]|2[28]|[49]8?|58[23]|7[246]|8[1346-9])|3(?:08?|17?|3[78]|[2456]|7[1569]|8[379])|5(?:[07-9]|1[78]|483|5(?:7?|8))|6(?:0|28|37?|[45][68][78]|98?)|848)\\d{3,6}|(?:2(?:27|5|7[135789]|8[25])|3[39]|5[1-46]|6[126-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:4\\d|9[2-8])\\d{4,7}","\\d{3,10}",,,"1312345"] @@ -3712,5 +4259,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] }; diff --git a/javascript/i18n/phonenumbers/metadatafortesting.js b/javascript/i18n/phonenumbers/metadatafortesting.js index 511f3d1..4c3a611 100644 --- a/javascript/i18n/phonenumbers/metadatafortesting.js +++ b/javascript/i18n/phonenumbers/metadatafortesting.js @@ -62,6 +62,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"AD",376,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AO":[,[,,"[29]\\d{8}","\\d{9}"] ,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}",,,"222123456"] @@ -74,6 +76,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"AO",244,"00","0~0",,,"0~0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AR":[,[,,"[1-3689]\\d{9,10}","\\d{6,11}"] ,[,,"[1-3]\\d{9}","\\d{6,10}"] @@ -106,6 +110,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AU":[,[,,"[1-578]\\d{4,14}","\\d{5,15}"] ,[,,"[2378]\\d{8}","\\d{9}"] @@ -121,6 +127,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BS":[,[,,"(242|8(00|66|77|88)|900)\\d{7}","\\d{7,10}"] ,[,,"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}","\\d{7,10}"] @@ -131,6 +139,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"BS",1,"011","1",,,"1",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"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"] @@ -152,6 +162,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GB":[,[,,"\\d{10}","\\d{6,10}"] ,[,,"[1-6]\\d{9}","\\d{6,10}"] @@ -171,6 +183,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"(0$1)",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"IT":[,[,,"[0389]\\d{5,10}","\\d{6,11}"] ,[,,"0\\d{9,10}","\\d{10,11}"] @@ -190,6 +204,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"JP":[,[] ,[] @@ -209,6 +225,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"] ,[,,"(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}",,,"22123456"] @@ -244,6 +262,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MX":[,[,,"[1-9]\\d{9,10}","\\d{7,11}"] ,[,,"[2-9]\\d{9}","\\d{7,10}"] @@ -276,8 +296,10 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"] +,"NZ":[,[,,"[289]\\d{7,9}|[3-7]\\d{7}","\\d{7,10}"] ,[,,"24099\\d{3}|(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}","\\d{7,8}"] ,[,,"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})","\\d{8,10}"] ,[,,"800\\d{6,7}","\\d{9,10}"] @@ -293,6 +315,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PL":[,[,,"[1-9]\\d{8}","\\d{9}"] ,[,,"[1-9]\\d{8}","\\d{9}"] @@ -305,6 +329,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"PL",48,"0~0","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"RE":[,[,,"[268]\\d{8}","\\d{9}"] ,[,,"262\\d{6}","\\d{9}",,,"262161234"] @@ -317,7 +343,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] ] ,,[,,"NA","NA"] -,,"262|6(?:9[23]|47)|8"] +,,"262|6(?:9[23]|47)|8",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"SG":[,[,,"[13689]\\d{7,10}","\\d{8,11}"] ,[,,"[36]\\d{7}","\\d{8}"] ,[,,"[89]\\d{7}","\\d{8}"] @@ -334,11 +362,13 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"US":[,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"] ,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"] ,[,,"[13-9]\\d{9}|2[0-35-9]\\d{8}","\\d{7,10}",,,"1234567890"] -,[,,"8(00|66|77|88)\\d{7}","\\d{10}",,,"1234567890"] +,[,,"8(?:00|66|77|88)\\d{7}","\\d{10}",,,"1234567890"] ,[,,"900\\d{7}","\\d{10}",,,"1234567890"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -349,7 +379,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",,,""] ] ,[,,"NA","NA"] -,1] +,1,,[,,"800\\d{7}","\\d{10}",,,"1234567890"] +,[,,"NA","NA"] +] ,"YT":[,[,,"[268]\\d{8}","\\d{9}"] ,[,,"2696[0-4]\\d{4}","\\d{9}",,,"269601234"] ,[,,"639\\d{6}","\\d{9}",,,"639123456"] @@ -359,5 +391,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"YT",262,"00","0",,,"0",,,,,,[,,"NA","NA"] -,,"269|639"] +,,"269|639",[,,"NA","NA"] +,[,,"NA","NA"] +] }; diff --git a/javascript/i18n/phonenumbers/metadatalite.js b/javascript/i18n/phonenumbers/metadatalite.js index e121e67..0d10e30 100644 --- a/javascript/i18n/phonenumbers/metadatalite.js +++ b/javascript/i18n/phonenumbers/metadatalite.js @@ -256,6 +256,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AE":[,[,,"[2-79]\\d{7,8}|800\\d{2,9}","\\d{5,12}"] ,[,,"(?:[2-4679][2-8]\\d|600[25])\\d{5}","\\d{7,9}"] @@ -275,6 +277,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AF":[,[,,"[2-7]\\d{8}","\\d{7,9}"] ,[,,"(?:[25][0-8]|[34][0-4]|6[0-5])[2-9]\\d{6}","\\d{7,9}"] @@ -287,27 +291,33 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"AF",93,"00","0",,,"0",,,,[[,"([2-7]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AG":[,[,,"[289]\\d{9}","\\d{7,10}"] -,[,,"268(?:4(?:6[0-3]|84)|56[0-2])\\d{4}","\\d{7,10}"] -,[,,"268(?:464|7(?:2[0-9]|64|7[0-5]|8[358]))\\d{4}","\\d{10}"] +,[,,"268(?:4(?:6[0-38]|84)|56[0-2])\\d{4}","\\d{7,10}"] +,[,,"268(?:464|7(?:2[0-9]|64|7[0-689]|8[02-68]))\\d{4}","\\d{10}"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"26848[01]\\d{4}","\\d{10}"] -,"AG",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"268"] +,"AG",1,"011","1",,,"1",,,,,,[,,"26840[69]\\d{4}","\\d{10}"] +,,"268",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"AI",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"264"] +,,"264",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -326,6 +336,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"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}"] @@ -343,6 +355,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"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}"] @@ -358,6 +372,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AO":[,[,,"[29]\\d{8}","\\d{9}"] ,[,,"2\\d(?:[26-9]\\d|\\d[26-9])\\d{5}","\\d{9}"] @@ -370,6 +386,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"AO",244,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AR":[,[,,"[1-9]\\d{9,11}","\\d{6,12}"] ,[,,"[1-9]\\d{9}","\\d{6,10}"] @@ -410,6 +428,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AS":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"6846(?:22|33|44|55|77|88|9[19])\\d{4}","\\d{7,10}"] @@ -417,10 +437,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"AS",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"684"] +,,"684",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -437,6 +459,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"] ,[,,"[2378]\\d{8}","\\d{8,9}"] @@ -460,6 +484,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"AW":[,[,,"[5-9]\\d{6}","\\d{7}"] ,[,,"5(?:2\\d{2}|8(?:[2-7]\\d|8[0-79]|9[48]))\\d{3}","\\d{7}"] @@ -472,24 +498,34 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"AW",297,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{8,9}"] -,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[0236-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{8,9}"] +,"AZ":[,[,,"[1-8]\\d{7,8}","\\d{5,9}"] +,[,,"(?:1(?:(?:[28]\\d|9)\\d|02|1[0-589]|3[358]|4[013-79]|5[0-479]|6[02346-9]|7[0-24-8])|2(?:16|2\\d|3[0-24]|4[1468]|55|6[56]|79)|365?\\d)\\d{5}","\\d{5,9}"] ,[,,"(?:4[04]|5[015]|60|7[07])\\d{7}","\\d{9}"] ,[,,"88\\d{7}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"AZ",994,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["1[28]|22|[3-8]"] -,"",""] -,[,"([12]\\d{2})(\\d{5})","$1 $2",["1[013-79]|2[013-9]"] -,"",""] +,"AZ",994,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[28]"] +,"(0$1)",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["22"] +,"(0$1)",""] +,[,"(\\d{2})(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["3"] +,"(0$1)",""] +,[,"(\\d{3})(\\d)(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013-79]|2[013-9]"] +,"(0$1)",""] +,[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[4-8]"] +,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BA":[,[,,"[3-689]\\d{7}","\\d{6,8}"] -,[,,"(?:[35]\\d|49|81)\\d{6}","\\d{6,8}"] +,[,,"(?:[35]\\d|49)\\d{6}","\\d{6,8}"] ,[,,"6[1-356]\\d{6}","\\d{8}"] ,[,,"8[08]\\d{6}","\\d{8}"] ,[,,"9[0246]\\d{6}","\\d{8}"] @@ -499,6 +535,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BA",387,"00","0",,,"0",,,,[[,"([3-689]\\d)(\\d{3})(\\d{3})","$1 $2-$3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"81\\d{6}","\\d{8}"] ] ,"BB":[,[,,"[289]\\d{9}","\\d{7,10}"] ,[,,"246[2-9]\\d{6}","\\d{7,10}"] @@ -506,10 +544,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"BB",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"246"] +,,"246",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -528,13 +568,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BE":[,[,,"[1-9]\\d{7,8}","\\d{8,9}"] -,[,,"(?:1[0-69]|[23][2-8]|[49][23]|5\\d|6[013-57-9]|7[18])\\d{6}|8(?:0[1-9]|[1-79]\\d)\\d{5}","\\d{8}"] +,[,,"(?:1[0-69]|[23][2-8]|[49][23]|5\\d|6[013-57-9]|7[18])\\d{6}|8(?:0[1-9]|[1-69]\\d)\\d{5}","\\d{8}"] ,[,,"4(?:7\\d|8[4-9]|9[1-9])\\d{6}","\\d{9}"] ,[,,"800\\d{5}","\\d{8}"] ,[,,"(?:90|7[07])\\d{6}","\\d{8}"] -,[,,"NA","NA"] +,[,,"87\\d{6}","\\d{8}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,"BE",32,"00","0",,,"0",,,,[[,"(4[7-9]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["4[7-9]"] @@ -547,6 +589,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"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}"] @@ -559,6 +603,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BF",226,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BG":[,[,,"[2-9]\\d{6,8}","\\d{7,9}"] ,[,,"(?:2\\d|[36]\\d|5[1-9]|8[1-6]|9[1-7])\\d{5,6}|(?:4(?:[124-7]\\d|3[1-6])|7(?:0[1-9]|[1-9]\\d))\\d{4,5}","\\d{7,8}"] @@ -582,6 +628,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BH":[,[,,"[136-9]\\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}"] @@ -594,6 +642,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BH",973,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BI":[,[,,"[27]\\d{7}","\\d{8}"] ,[,,"22(?:2[0-7]|[3-5]0)\\d{4}","\\d{8}"] @@ -606,6 +656,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BI",257,"00",,,,,,,,[[,"([27]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BJ":[,[,,"[2689]\\d{7}|7\\d{3}","\\d{4,8}"] ,[,,"2(?:02|1[037]|2[45]|3[68])\\d{5}","\\d{8}"] @@ -618,6 +670,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BJ",229,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BL":[,[,,"[56]\\d{8}","\\d{9}"] ,[,,"590(?:2[7-9]|5[12]|87)\\d{4}","\\d{9}"] @@ -628,6 +682,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"BL",590,"00","0",,,"0",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BM":[,[,,"[489]\\d{9}","\\d{7,10}"] ,[,,"441(?:2(?:02|23|61|[3479]\\d)|[46]\\d{2}|5(?:4\\d|60|89)|824)\\d{4}","\\d{7,10}"] @@ -635,10 +691,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"BM",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"441"] +,,"441",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"BN":[,[,,"[2-578]\\d{6}","\\d{7}"] ,[,,"[2-5]\\d{6}","\\d{7}"] ,[,,"[78]\\d{6}","\\d{7}"] @@ -650,6 +708,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"BN",673,"00","0",,,"0",,,,[[,"([2-578]\\d{2})(\\d{4})","$1 $2",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BO":[,[,,"[23467]\\d{7}","\\d{7,8}"] ,[,,"(?:2(?:2\\d{2}|5(?:11|[258]\\d|9[67])|6(?:12|2\\d|9[34])|8(?:2[34]|39|62))|3(?:3\\d{2}|4(?:6\\d|8[24])|8(?:25|42|5[257]|86|9[25])|9(?:2\\d|3[234]|4[248]|5[24]|6[2-6]|7\\d))|4(?:4\\d{2}|6(?:11|[24689]\\d|72)))\\d{4}","\\d{7,8}"] @@ -665,6 +725,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BR":[,[,,"[1-9]\\d{7,9}","\\d{8,10}"] ,[,,"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-5]\\d{7}","\\d{8,10}"] @@ -682,6 +744,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BS":[,[,,"[289]\\d{9}","\\d{7,10}"] ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:12|7[67]|8[78]|9[89])|702)\\d{4}","\\d{7,10}"] @@ -689,10 +753,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"242300\\d{4}|8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"BS",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"242"] +,,"242",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -707,6 +773,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BW":[,[,,"[2-9]\\d{6,7}","\\d{7,8}"] ,[,,"(?:2(?:4[0-48]|6[0-24]|9[0578])|3(?:1[0235-9]|55|6\\d|7[01]|9[0-57])|4(?:6[03]|7[1267]|9[0-5])|5(?:3[0389]|4[0489]|7[1-47]|88|9[0-49])|6(?:2[1-35]|5[149]|8[067]))\\d{4}","\\d{7}"] @@ -722,6 +790,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BY":[,[,,"[12-4]\\d{8}|[89]\\d{9}","\\d{7,10}"] ,[,,"(?:1(?:5(?:1[1-5]|2\\d|6[1-4]|9[1-7])|6(?:[235]\\d|4[1-7])|7\\d{2})|2(?:1(?:[246]\\d|3[0-35-9]|5[1-9])|2(?:[235]\\d|4[0-8])|3(?:2\\d|3[02-79]|4[024-7]|5[0-7])))\\d{5}","\\d{7,9}"] @@ -737,6 +807,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"BZ":[,[,,"[2-8]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"] ,[,,"[234578][02]\\d{5}","\\d{7}"] @@ -752,16 +824,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CA":[,[,,"[2-9]\\d{9}|3\\d{6}","\\d{7,10}"] -,[,,"(?:2(?:04|26|50|89)|306|4(?:03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67))[2-9]\\d{6}|310\\d{4}","\\d{7,10}"] -,[,,"(?:2(?:04|26|50|89)|306|4(?:03|16|18|38|50|56)|5(?:00|06|14|19|81|87)|6(?:00|04|13|47)|7(?:00|05|09|10|78|80)|8(?:07|19|67)|9(?:02|05))[2-9]\\d{6}","\\d{7,10}"] +,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}|310\\d{4}","\\d{7,10}"] +,[,,"(?:2(?:04|26|50|89)|3(?:06|43)|4(?:03|1[68]|38|5[06])|5(?:0[06]|1[49]|79|8[17])|6(?:0[04]|13|47)|7(?:0[059]|[18]0|78)|8(?:[06]7|19|)|90[25])[2-9]\\d{6}","\\d{7,10}"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}|310\\d{4}","\\d{7,10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"CA",1,"011","1",,,"1",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"] ,[,,"[1-6]\\d{6}","\\d{7}"] @@ -777,6 +853,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CF":[,[,,"[278]\\d{7}","\\d{8}"] ,[,,"2[12]\\d{6}","\\d{8}"] @@ -789,6 +867,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CF",236,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CG":[,[,,"[028]\\d{8}","\\d{9}"] ,[,,"222[1-589]\\d{5}","\\d{9}"] @@ -804,6 +884,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CH":[,[,,"[2-9]\\d{8}","\\d{9}"] ,[,,"(?:2[12467]|3[1-4]|4[134]|5[12568]|6[12]|[7-9]1)\\d{7}","\\d{9}"] @@ -819,6 +901,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CI":[,[,,"[02-5]\\d{7}","\\d{8}"] ,[,,"(?:2(?:0[023]|1[02357]|[23][045]|4[03-5])|3(?:0[06]|1[069]|[2-4][07]|5[09]|6[08]))\\d{5}","\\d{8}"] @@ -831,6 +915,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CI",225,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CK":[,[] ,[] @@ -841,6 +927,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"CK",682,"00","00",,,"00",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CL":[,[,,"(?:[2-9]|600|123)\\d{7,8}","\\d{6,11}"] ,[,,"(?:2|32|41)\\d{7}|(?:3[3-5]|4[235]|5[1-3578]|6[13-57]|7[1-35])\\d{6,7}","\\d{6,9}"] @@ -850,7 +938,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"44\\d{7}","\\d{9}"] -,"CL",56,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","0",,,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))",,,,[[,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"] +,"CL",56,"(?:0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018]))0","0",,,"0|1(?:1[0-69]|2[0-57]|5[13-58]|69|7[0167]|8[018])",,,,[[,"(2)(\\d{3})(\\d{4})","$1 $2 $3",["2"] ,"0$1",""] ,[,"(\\d{2})(\\d{2,3})(\\d{4})","$1 $2 $3",["[357]|4[1-35]|6[13-57]"] ,"0$1",""] @@ -866,6 +954,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CM":[,[,,"[237-9]\\d{7}","\\d{8}"] ,[,,"(?:22|33)\\d{6}","\\d{8}"] @@ -881,6 +971,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CN":[,[,,"[1-79]\\d{7,11}|8[0-357-9]\\d{6,9}","\\d{4,12}"] ,[,,"21\\d{8,10}|(?:10|2[02-57-9]|3(?:11|7[159])|4[135]1|5(?:1\\d|2[37]|3[12]|7[13-79]|9[15])|7(?:31|5[457]|6[09])|898)\\d{8}|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|[35][2-9]|6[4789]|7[0-46-9]|8[23])|5(?:3[03-9]|4[36]|5\\d|6[1-6]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\d|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|[37]\\d|5[1-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))\\d{7}|80(?:29|6[03578]|7[018]|81)\\d{4}","\\d{4,12}"] @@ -927,16 +1019,34 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"CO":[,[] -,[] -,[] +,"CO":[,[,,"(?:[13]\\d{0,3}|[24-8])\\d{7}","\\d{7,11}"] +,[,,"[124-8][2-9]\\d{6}","\\d{8}"] +,[,,"3(?:0[0-24]|1[0-8]|2[01])\\d{7}","\\d{10}"] +,[,,"1800\\d{7}","\\d{11}"] +,[,,"19(?:0[01]|4[78])\\d{7}","\\d{11}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,"CO",57,"00[579]|#555|#999","0",,,"0(?:[3579]|4(?:44|56))",,,,[[,"(\\d)(\\d{7})","($1) $2",["1(?:8[2-9]|9[0-3]|[2-7])|[24-8]","1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]"] +,"",""] +,[,"(\\d{3})(\\d{7})","$1 $2",["3"] +,"",""] +,[,"(1)(\\d{3})(\\d{7})","$1-$2-$3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"] +,"0$1",""] +] +,[[,"(\\d)(\\d{7})","$1 $2",["1(?:8[2-9]|9[0-3]|[2-7])|[24-8]","1(?:8[2-9]|9(?:09|[1-3])|[2-7])|[24-8]"] +,,""] +,[,"(\\d{3})(\\d{7})","$1 $2",["3"] +,,""] +,[,"(1)(\\d{3})(\\d{7})","$1 $2 $3",["1(?:80|9[04])","1(?:800|9(?:0[01]|4[78]))"] +,,""] +] ,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"CO",57,"(?:00[579]|#555|#999)","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"CR":[,[,,"[289]\\d{7,9}","\\d{8,10}"] ,[,,"2[24-7]\\d{6}","\\d{8}"] @@ -952,9 +1062,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CU":[,[,,"[2-57]\\d{5,7}","\\d{4,8}"] -,[,,"(?:2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7})","\\d{4,8}"] +,[,,"2[1-4]\\d{5,6}|3(?:1\\d{6}|[23]\\d{4,6})|4(?:[125]\\d{5,6}|[36]\\d{6}|[78]\\d{4,6})|7\\d{6,7}","\\d{4,8}"] ,[,,"5\\d{7}","\\d{8}"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -969,6 +1081,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CV":[,[,,"[259]\\d{6}","\\d{7}"] ,[,,"2(?:2[1-7]|3[0-8]|4[12]|5[1256]|6\\d|7[1-3]|8[1-5])\\d{4}","\\d{7}"] @@ -981,6 +1095,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CV",238,"0",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CY":[,[,,"[27-9]\\d{7}","\\d{8}"] ,[,,"2[2-6]\\d{6}","\\d{8}"] @@ -993,6 +1109,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CY",357,"00",,,,,,,,[[,"([27-9]\\d)(\\d{6})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"CZ":[,[,,"[2-9]\\d{8}","\\d{9}"] ,[,,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}","\\d{9}"] @@ -1005,6 +1123,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"CZ",420,"00",,,,,,,,[[,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DE":[,[,,"[1-35-9]\\d{3,13}|4(?:[0-8]\\d{4,12}|9(?:4[1-8]|[0-35-7]\\d)\\d{2,7})","\\d{2,14}"] ,[,,"[246]\\d{5,13}|3(?:[03-9]\\d{4,11}|2\\d{9})|5(?:0[2-8]|[38][0-8]|[124-6]\\d|[79][0-7])\\d{3,10}|7(?:0[2-8]|[1-9]\\d)\\d{3,10}|8(?:0[2-9]|[1-9]\\d)\\d{3,10}|9(?:0[6-9]|[1-9]\\d)\\d{3,10}","\\d{2,14}"] @@ -1030,6 +1150,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"16(?:4\\d{1,10}|[89]\\d{1,11})","\\d{4,14}"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DJ":[,[,,"[1-8]\\d{5}","\\d{6}"] ,[,,"(?:1[05]|[2-5]\\d)\\d{4}","\\d{6}"] @@ -1042,6 +1164,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"DJ",253,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DK":[,[,,"[1-9]\\d{7}","\\d{8}"] ,[,,"(?:3[2-9]|4[3-9]|5[4-9]|6[2-9]|7[02-9]|8[26-9]|9[6-9])\\d{6}","\\d{8}"] @@ -1054,6 +1178,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"DK",45,"00",,,,,,,,[[,"([1-9]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"DM":[,[,,"[7-9]\\d{9}","\\d{7,10}"] ,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7,10}"] @@ -1061,20 +1187,24 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"DM",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"767"] +,,"767",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"DO",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"8[024]9"] +,,"8[024]9",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -1091,6 +1221,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"EC":[,[,,"[2-9]\\d{7}|1\\d{9,10}","\\d{7,11}"] ,[,,"[2-7][2-7]\\d{6}","\\d{7,8}"] @@ -1115,6 +1247,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"EE":[,[,,"[3-9]\\d{6,7}|800\\d{6,7}","\\d{6,10}"] ,[,,"(?:3[23589]|4(?:0\\d|[3-8])|6\\d|7[1-9]|88)\\d{5}","\\d{7,8}"] @@ -1134,6 +1268,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"800[2-9]\\d{3}","\\d{7}"] +,[,,"NA","NA"] ] ,"EG":[,[,,"1\\d{4,9}|[2-689]\\d{7,9}","\\d{5,10}"] ,[,,"(?:1[35][23]|2[23]\\d|3\\d|4(?:0[2-4]|[578][23]|64)|5(?:0[234]|[57][23])|6[24-689]3|8(?:[28][2-4]|42|6[23])|9(?:[25]2|3[24]|6[23]|7[2-4]))\\d{6}|1[69]\\d{3}","\\d{5,9}"] @@ -1151,6 +1287,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ER":[,[,,"[178]\\d{6}","\\d{6,7}"] ,[,,"1(?:1[12568]|20|40|55|6[146])\\d{4}|8\\d{6}","\\d{6,7}"] @@ -1163,6 +1301,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ER",291,"00","0",,,"0",,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ES":[,[,,"[5-9]\\d{8}","\\d{9}"] ,[,,"[89][1-8]\\d{7}","\\d{9}"] @@ -1170,11 +1310,13 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"[89]00\\d{6}","\\d{9}"] ,[,,"80[367]\\d{6}","\\d{9}"] ,[,,"90[12]\\d{6}","\\d{9}"] -,[,,"(?:51|70)\\d{7}","\\d{9}"] +,[,,"70\\d{7}","\\d{9}"] ,[,,"NA","NA"] ,"ES",34,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"51\\d{7}","\\d{9}"] ] ,"ET":[,[,,"[1-59]\\d{8}","\\d{7,9}"] ,[,,"(?:11(?:1(?:1[124]|2[2-57]|3[1-5]|5[5-8]|8[6-8])|2(?:13|3[6-8]|5[89]|7[05-9]|8[2-6])|3(?:2[01]|3[0-289]|4[1289]|7[1-4]|87)|4(?:1[69]|3[2-49]|4[0-23]|6[5-8])|5(?:1[57]|44|5[0-4])|6(?:18|2[69]|4[5-7]|5[1-5]|6[0-59]|8[015-8]))|2(?:2(?:11[1-9]|22[0-7]|33\\d|44[1467]|66[1-68])|5(?:11[124-6]|33[2-8]|44[1467]|55[14]|66[1-3679]|77[124-79]|880))|3(?:3(?:11[0-46-8]|22[0-6]|33[0134689]|44[04]|55[0-6]|66[01467])|4(?:44[0-8]|55[0-69]|66[0-3]|77[1-5]))|4(?:6(?:22[0-24-7]|33[1-5]|44[13-69]|55[14-689]|660|88[1-4])|7(?:11[1-9]|22[1-9]|33[13-7]|44[13-6]|55[1-689]))|5(?:7(?:227|55[05]|(?:66|77)[14-8])|8(?:11[149]|22[013-79]|33[0-68]|44[013-8]|550|66[1-5]|77\\d)))\\d{4}","\\d{7,9}"] @@ -1187,9 +1329,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ET",251,"00","0",,,"0",,,,[[,"([1-59]\\d)(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FI":[,[,,"[1-9]\\d{4,11}","\\d{5,12}"] -,[,,"1(?:0[1-9]\\d{3,7}|[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2(?:0(?:[16-8]\\d{3,7}|2[14-9]\\d{1,6}|[3-5]\\d{2,7}|9[0-7]\\d{1,6})|[1-8]\\d{3,9}|9\\d{4,8})|3(?:0[1-9]\\d{3,7}|[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{5,12}"] +,[,,"1(?:[35689][1-8]\\d{3,9}|[47]\\d{5,10})|2[1-8]\\d{3,9}|3(?:[1-8]\\d{3,9}|9\\d{4,8})|[5689][1-8]\\d{3,9}|","\\d{5,12}"] ,[,,"4\\d{5,10}|50\\d{4,8}","\\d{6,11}"] ,[,,"800\\d{4,7}","\\d{7,10}"] ,[,,"[67]00\\d{5,6}","\\d{8,9}"] @@ -1204,6 +1348,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"10[1-9]\\d{3,7}|2(?:0(?:[16-8]\\d{3,7}|2[14-9]\\d{1,6}|[3-5]\\d{2,7}|9[0-7]\\d{1,6})|9\\d{4,8})|30[1-9]\\d{3,7}|7(?:1\\d{7}|3\\d{8}|5[03-9]\\d{2,7})","\\d{6,10}"] ] ,"FJ":[,[] ,[] @@ -1214,6 +1360,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"FJ",679,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FK":[,[] ,[] @@ -1224,6 +1372,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"FK",500,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FM":[,[] ,[] @@ -1234,6 +1384,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"FM",691,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FO":[,[,,"[2-9]\\d{5}","\\d{6}"] ,[,,"(?:20|[3-4]\\d|8[19])\\d{4}","\\d{6}"] @@ -1244,6 +1396,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"(?:6[0-36]|88)\\d{4}","\\d{6}"] ,"FO",298,"00",,,,"10(?:01|[12]0|88)",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"FR":[,[,,"[1-9]\\d{8}","\\d{9}"] ,[,,"[1-5]\\d{8}","\\d{9}"] @@ -1259,6 +1413,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GA":[,[,,"[4-9]\\d{5}|0\\d{7}","\\d{6,8}"] ,[,,"(?:4(?:[04-8]\\d|2[04])|(?:5[04-689]|6[024-9]|7\\d|8[236]|9[02368])\\d)\\d{3}","\\d{6}"] @@ -1274,9 +1430,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GB":[,[,,"\\d{7,10}","\\d{4,10}"] -,[,,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|1(?:(?:1(?:3[0-48]|[46][0-4]|5[012789]|7[0-39]|8[01349])|21[0-7]|31[0-8]|[459]1\\d|61[01246-9]))\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|[28][02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}|(?:3[0347]|55)\\d{8}","\\d{4,10}"] +,[,,"2(?:0[01378]|3[0189]|4[017]|8[0-46-9]|9[012])\\d{7}|1(?:(?:1(?:3[0-48]|[46][0-4]|5[012789]|7[0-39]|8[01349])|21[0-7]|31[0-8]|[459]1\\d|61[0-46-9]))\\d{6}|1(?:2(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-4789]|7[013-9]|9\\d)|3(?:0\\d|[25][02-9]|3[02-579]|[468][0-46-9]|7[1235679]|9[24578])|4(?:0[03-9]|[28][02-5789]|[37]\\d|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1235-9]|2[024-9]|3[015689]|4[02-9]|5[03-9]|6\\d|7[0-35-9]|8[0-468]|9[0-5789])|6(?:0[034689]|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0124578])|7(?:0[0246-9]|2\\d|3[023678]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-5789]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\d|8[02-9]|9[02569])|9(?:0[02-589]|2[02-689]|3[1-5789]|4[2-9]|5[0-579]|6[234789]|7[0124578]|8\\d|9[2-57]))\\d{6}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-4789]|8[345])))|3(?:638[2-5]|647[23]|8(?:47[04-9]|64[015789]))|4(?:044[1-7]|20(?:2[23]|8\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[123]))|5(?:24(?:3[2-79]|6\\d)|276\\d|6(?:26[06-9]|686))|6(?:06(?:4\\d|7[4-79])|295[567]|35[34]\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|955[0-4])|7(?:26(?:6[13-9]|7[0-7])|442\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\d|37(?:5[2-5]|8[239])|84(?:3[2-58]))|9(?:0(?:0(?:6[1-8]|85)|52\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\d{3}|176888[234678]\\d{2}|16977[23]\\d{3}","\\d{4,10}"] ,[,,"7(?:[1-4]\\d\\d|5(?:0[0-8]|[13-9]\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\d|8[02-9]|9[0-689])|8(?:[014-9]\\d|[23][0-8])|9(?:[04-9]\\d|1[02-9]|2[0135-9]|3[0-689]))\\d{6}","\\d{10}"] ,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"] ,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"] @@ -1305,17 +1463,21 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}"] -,1] +,1,,[,,"NA","NA"] +,[,,"(?:3[0347]|55)\\d{8}","\\d{10}"] +] ,"GD":[,[,,"[489]\\d{9}","\\d{7,10}"] -,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:08|3[5-9]|4[0-49]|5[5-79]|68|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}"] +,[,,"473(?:2(?:3[0-2]|69)|3(?:2[89]|86)|4(?:[06]8|3[5-9]|4[0-49]|5[5-79]|73|90)|63[68]|7(?:58|84)|938)\\d{4}","\\d{7,10}"] ,[,,"473(?:4(?:0[3-79]|1[04-9]|20|58)|53[3-8])\\d{4}","\\d{10}"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"GD",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"473"] +,,"473",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -1336,6 +1498,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GF":[,[] ,[] @@ -1346,8 +1510,10 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GF",594,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"GG":[,[,,"[15789]\\d{6,9}","\\d{6,10}"] +,"GG":[,[,,"[135789]\\d{6,9}","\\d{6,10}"] ,[,,"1481\\d{6}","\\d{6,10}"] ,[,,"7(?:781|839|911)\\d{6}","\\d{10}"] ,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"] @@ -1356,6 +1522,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"70\\d{8}","\\d{10}"] ,[,,"56\\d{8}","\\d{10}"] ,"GG",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}"] +,,,[,,"NA","NA"] +,[,,"(?:3[0347]|55)\\d{8}","\\d{10}"] ] ,"GH":[,[,,"[235]\\d{6,8}","\\d{7,9}"] ,[,,"3(?:0[237]\\d|[167](?:2[0-6]|7\\d)|2(?:2[0-5]|7\\d)|3(?:2[0-37]|7\\d)|4(?:[27]\\d|30)|5(?:2[0-7]|7\\d)|8(?:2[0-2]|7\\d)|9(?:20|7\\d))\\d{5}","\\d{7,9}"] @@ -1368,6 +1536,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GH",233,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GI":[,[,,"[2568]\\d{7}","\\d{8}"] ,[,,"2(?:00\\d|16[0-7]|22[2457])\\d{4}","\\d{8}"] @@ -1378,6 +1548,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GI",350,"00",,,,,,,,,,[,,"NA","NA"] +,,,[,,"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}"] @@ -1390,6 +1562,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GL",299,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"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}"] @@ -1402,6 +1576,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GM",220,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GN":[,[,,"[3567]\\d{7}","\\d{8}"] ,[,,"30(?:24|3[12]|4[1-35-7]|5[13]|6[189]|[78]1|9[1478])\\d{4}","\\d{8}"] @@ -1414,6 +1590,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GN",224,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GP":[,[,,"[56]\\d{8}","\\d{9}"] ,[,,"590(?:1[12]|2[0-68]|3[28]|4[126-8]|5[067]|6[018]|[89]\\d)\\d{4}","\\d{9}"] @@ -1426,7 +1604,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GP",590,"00","0",,,"0",,,,[[,"([56]90)(\\d{2})(\\d{4})","$1 $2-$3",,"0$1",""] ] ,,[,,"NA","NA"] -,1] +,1,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"GQ":[,[,,"[23589]\\d{8}","\\d{6,9}"] ,[,,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}","\\d{6,9}"] ,[,,"(?:222|551)\\d{6}","\\d{6,9}"] @@ -1441,6 +1621,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GR":[,[,,"[26-9]\\d{9}","\\d{10}"] ,[,,"2(?:1\\d{2}|2(?:3[1-8]|4[1-7]|5[1-4]|6[1-8]|7[1-5]|[289][1-9])|3(?:1\\d|2[1-5]|3[1-4]|[45][1-3]|7[1-7]|8[1-6]|9[1-79])|4(?:1\\d|2[1-8]|3[1-4]|4[13-5]|6[1-578]|9[1-5])|5(?:1\\d|2[1-3]|4[124]|5[1-6]|[39][1-4])|6(?:1\\d|3[24]|4[1-7]|5[13-9]|[269][1-6]|7[14]|8[1-35])|7(?:1\\d|[23][1-5]|4[1-7]|5[1-57]|6[134]|9[15-7])|8(?:1\\d|2[1-5]|[34][1-4]|9[1-7]))\\d{6}","\\d{10}"] @@ -1458,6 +1640,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GT":[,[] ,[] @@ -1468,6 +1652,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GT",502,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GU":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"671(?:3\\d{2}|47\\d|56\\d|6[3-5]\\d|7(?:3\\d|89)|828)\\d{4}","\\d{7,10}"] @@ -1475,10 +1661,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"GU",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"671"] +,,"671",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -1490,6 +1678,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"GY":[,[] ,[] @@ -1500,6 +1690,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"GY",592,"001","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HK":[,[,,"[235-7]\\d{7}|8\\d{7,8}|9\\d{7,10}","\\d{8,11}"] ,[,,"[23]\\d{7}","\\d{8}"] @@ -1517,6 +1709,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HN":[,[,,"[237-9]\\d{7}","\\d{8}"] ,[,,"2(?:2(?:0[019]|1[1-36]|[23]\\d|4[056]|5[57]|9[01])|4(?:2|3-59]|3[13-689]|4[0-68]|5[1-35])|5(?:4[3-5]|5\\d|6[56]|74)|6(?:4[0-378]|[56]\\d|[78][0-8]|9[01])|7(?:6[46-9]|7[02-9]|8[34])|8(?:79|8[0-35789]|9[1-57-9]))\\d{4}","\\d{8}"] @@ -1529,6 +1723,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"HN",504,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1-$2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HR":[,[,,"[1-7]\\d{5,8}|[89]\\d{6,11}","\\d{6,12}"] ,[,,"(?:1|6[029])\\d{7}|(?:2[0-3]|3[1-5]|4[02-47-9]|5[1-3])\\d{6}","\\d{6,9}"] @@ -1558,6 +1754,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HT":[,[,,"[2-489]\\d{7}","\\d{8}"] ,[,,"2(?:[24]\\d|5[1-5]|94)\\d{5}","\\d{8}"] @@ -1570,6 +1768,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"HT",509,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{4})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"HU":[,[,,"\\d{8,9}","\\d{6,9}"] ,[,,"(?:1\\d|2(?:1\\d|[2-9])|3[2-7]|4[24-9]|5[2-79]|6[23689]|7(?:1\\d|[2-9])|8[2-57-9]|9[2-69])\\d{6}","\\d{6,9}"] @@ -1585,6 +1785,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"($1)",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ID":[,[,,"[1-9]\\d{6,10}","\\d{5,11}"] ,[,,"2[124]\\d{7,8}|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|2[1-578]|3[1-68]|4[1-3]|5[1-8]|6[1-3568]|7[0-46]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[1246-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-469]|4[1-6])|7(?:1[1-46-9]|2[14-9]|[36]\\d|4[1-8]|5[1-9]|7[0-36-9])|9(?:0[12]|1[0134-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}","\\d{5,10}"] @@ -1608,9 +1810,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"IE":[,[,,"[124-9]\\d{6,9}","\\d{5,10}"] -,[,,"1\\d{7,8}|2(?:1\\d{6,7}|[24-9]\\d{5}|3\\d{5,7})|4(?:0[24]\\d{5}|[1269]\\d{7}|[34]\\d{5,7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|2\\d{5,7}|[3679]\\d{7}|8\\d{5})|6(?:1\\d{6}|4\\d{5,7}|[237-9]\\d{5}|[56]\\d{7})|7[14]\\d{7}|818\\d{6}|9(?:1\\d{6}|[04]\\d{7}|[3-9]\\d{5})","\\d{5,10}"] +,[,,"1\\d{7,8}|2(?:1\\d{6,7}|[24-9]\\d{5}|3\\d{5,7})|4(?:0[24]\\d{5}|[1269]\\d{7}|[34]\\d{5,7}|5\\d{6}|7\\d{5}|8[0-46-9]\\d{7})|5(?:0[45]\\d{5}|1\\d{6}|2\\d{5,7}|[3679]\\d{7}|8\\d{5})|6(?:1\\d{6}|4\\d{5,7}|[237-9]\\d{5}|[56]\\d{7})|7[14]\\d{7}|9(?:1\\d{6}|[04]\\d{7}|[3-9]\\d{5})","\\d{5,10}"] ,[,,"8(?:22\\d{6}|[35-9]\\d{7,8})","\\d{9,10}"] ,[,,"1800\\d{6}","\\d{10}"] ,[,,"15(?:1[2-9]|[2-8]0|59|9[089])\\d{6}","\\d{10}"] @@ -1637,8 +1841,10 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"818\\d{6}","\\d{9}"] ] -,"IL":[,[,,"[1-57-9]\\d{6,9}","\\d{7,10}"] +,"IL":[,[,,"[17]\\d{6,9}|[2-589]\\d{3}(?:\\d{3,6})?|6\\d{3}","\\d{4,10}"] ,[,,"(?:[2-489]|7[2-46-8])\\d{7}","\\d{7,9}"] ,[,,"5[024679]\\d{7}","\\d{9}"] ,[,,"1(?:80[01]\\d{3}|255)\\d{3}","\\d{7,10}"] @@ -1658,18 +1864,24 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ,[,"(1212)(\\d{2})(\\d{2})","$1-$2-$3",["121"] ,"$1",""] +,[,"(\\d{4})","*$1",["[2-689]"] +,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"1700\\d{6}|[2-689]\\d{3}","\\d{4,10}"] +,[,,"[2-689]\\d{3}","\\d{4}"] ] -,"IM":[,[,,"[15789]\\d{6,9}","\\d{6,10}"] +,"IM":[,[,,"[135789]\\d{6,9}","\\d{6,10}"] ,[,,"1624\\d{6}","\\d{6,10}"] ,[,,"7[569]24\\d{6}","\\d{10}"] -,[,,"80(?:0(?:1111|\\d{6,7})|8\\d{7})|500\\d{6}","\\d{7}(?:\\d{2,3})?"] -,[,,"(?:87[123]|9(?:[01]\\d|8[0-3]))\\d{7}","\\d{10}"] -,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?"] +,[,,"808162\\d{4}","\\d{10}"] +,[,,"(?:872299|90[0167]624)\\d{4}","\\d{10}"] +,[,,"8(?:4(?:40[49]06|5624\\d)|70624\\d)\\d{3}","\\d{10}"] ,[,,"70\\d{8}","\\d{10}"] ,[,,"56\\d{8}","\\d{10}"] -,"IM",44,"00","0"," x",,"0",,,,,,[,,"7624\\d{6}","\\d{10}"] +,"IM",44,"00","0"," x",,"0",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"3(?:08162\\d|3\\d{5}|4(?:40[49]06|5624\\d)|7(?:0624\\d|2299\\d))\\d{3}|55\\d{8}","\\d{10}"] ] ,"IN":[,[,,"[1-9]\\d{9,10}","\\d{6,11}"] ,[,,"(?:11|2[02]|33|4[04]|79|80)[2-6]\\d{7}|(?:1(?:2[0-249]|3[0-25]|4[145]|[59][14]|6[014]|7[1257]|8[01346])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])|6(?:12|[2345]1|57|6[13]|7[14]|80)|7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91))[2-6]\\d{6}|(?:(?:1(?:2[35-8]|3[346-9]|4[236-9]|[59][0235-9]|6[235-9]|7[34689]|8[257-9])|2(?:1[134689]|3[24-8]|4[2-8]|5[25689]|6[2-4679]|7[13-79]|8[2-479]|9[235-9])|3(?:01|1[79]|2[1-5]|4[25-8]|5[125689]|6[235-7]|7[157-9]|8[2-467])|4(?:1[14578]|2[5689]|3[2-467]|5[4-7]|6[35]|73|8[2689]|9[2389])|5(?:[16][146-9]|2[14-8]|3[1346]|4[14-69]|5[46]|7[2-4]|8[2-8]|9[246])|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24-58]|7[23-689]|8[1-6])|8(?:1[1357-9]|2[235-8]|3[03-57-9]|4[0-24-9]|5\\d|6[2457-9]|7[1-6]|8[1256]|9[2-4]))\\d|7(?:(?:1[013-9]|2[0235-9]|3[2679]|4[1-35689]|5[2-46-9]|[67][02-9]|9\\d)\\d|8(?:2[0-6]|[013-8]\\d)))[2-6]\\d{5}","\\d{6,10}"] @@ -1703,10 +1915,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(1600)(\\d{2})(\\d{4})","$1 $2 $3",["160","1600"] ,"$1",""] -,[,"(1800)(\\d{2,3})(\\d{4})","$1 $2 $3",["180","1800"] +,[,"(18[06]0)(\\d{2,3})(\\d{4})","$1 $2 $3",["18[06]","18[06]0"] ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"1860345\\d{4}","\\d{11}"] ] ,"IO":[,[] ,[] @@ -1717,6 +1931,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"IO",246,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"IQ":[,[,,"[1-7]\\d{7,9}","\\d{6,10}"] ,[,,"1\\d{7}|(?:2[13-5]|3[02367]|4[023]|5[03]|6[026])\\d{6,7}","\\d{6,9}"] @@ -1734,21 +1950,25 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] -] -,"IR":[,[,,"[1-9]\\d{9}","\\d{7,10}"] -,[,,"[1-8]\\d{9}","\\d{7,10}"] -,[,,"9(?:1\\d|3[1-8])\\d{7}","\\d{10}"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] +] +,"IR":[,[,,"[2-6]\\d{4,9}|[1789]\\d{9}","\\d{5,10}"] +,[,,"2(?:1[2-9]\\d{2,7}|51\\d{3,7})|(?:241|3(?:11|5[23])|441|5[14]1)\\d{4,7}|(?:3(?:34|41)|6(?:11|52)|)\\d{6,7}|(?:1(?:[134589][12]|[27][1-4])|2(?:2[189]|[3689][12]|42|5[256]|7[34])|3(?:12|2[1-4]|3[125]|4[24-9]|51|[6-9][12])|4(?:[135-9][12]|2[1-467]|4[2-4])|5(?:12|2[89]|3[1-5]|4[2-8]|[5-7][12]|8[1245])|6(?:12|[347-9][12]|51|6[1-6])|7(?:[13589][12]|2[1289]|4[1-4]|6[1-6]|7[1-3])|8(?:[145][12]|3[124578]|6[1256]|7[1245]))\\d{7}","\\d{5,10}"] +,[,,"9(?:1\\d|3[124-8])\\d{7}","\\d{10}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,[,,"993[12]\\d{6}","\\d{10}"] ,"IR",98,"00","0",,,"0",,,,[[,"(21)(\\d{4})(\\d{4})","$1 $2 $3",["21"] ,"0$1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[13-89]|2[02-9]"] ,"0$1",""] ] -,,[,,"NA","NA"] +,,[,,"943[24678]\\d{6}","\\d{10}"] +,,,[,,"NA","NA"] +,[,,"9990\\d{6}","\\d{10}"] ] ,"IS":[,[,,"[4-9]\\d{6}|38\\d{7}","\\d{7,9}"] ,[,,"(?: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}"] @@ -1764,9 +1984,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"IT":[,[,,"[01389]\\d{5,10}","\\d{6,11}"] -,[,,"0\\d{7,10}","\\d{8,11}"] +,[,,"0(?:[26]\\d{4,9}|[13-57-9](?:[0159]\\d{4,8}|[2-46-8]\\d{5,8}))","\\d{6,11}"] ,[,,"3\\d{8,9}","\\d{9,10}"] ,[,,"80(?:0\\d{6}|3\\d{3})","\\d{6,9}"] ,[,,"89(?:2\\d{3}|9\\d{6})","\\d{6,9}"] @@ -1777,15 +1999,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ,[,"(0[26])(\\d{4})(\\d{5})","$1 $2 $3",["0[26]"] ,"",""] -,[,"(0[26])(\\d{6})","$1 $2",["0[26]"] +,[,"(0[26])(\\d{4,6})","$1 $2",["0[26]"] ,"",""] -,[,"(0\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0(?:[13-57-9][0159]|36)"] +,[,"(0\\d{2})(\\d{3,4})(\\d{4})","$1 $2 $3",["0[13-57-9][0159]"] ,"",""] -,[,"(0\\d{2})(\\d{5,6})","$1 $2",["0(?:[13-57-9][0159]|36)"] +,[,"(0\\d{2})(\\d{4,6})","$1 $2",["0[13-57-9][0159]"] ,"",""] -,[,"(0\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["0[13-57-9]"] +,[,"(0\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["0[13-57-9][2-46-8]"] ,"",""] -,[,"(0\\d{3})(\\d{4,6})","$1 $2",["0[13-57-9]"] +,[,"(0\\d{3})(\\d{4,6})","$1 $2",["0[13-57-9][2-46-8]"] ,"",""] ,[,"(\\d{3})(\\d{3})(\\d{3,4})","$1 $2 $3",["[13]|8(?:00|4[78])"] ,"",""] @@ -1793,8 +2015,10 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"JE":[,[,,"[15789]\\d{6,9}","\\d{6,10}"] +,"JE":[,[,,"[135789]\\d{6,9}","\\d{6,10}"] ,[,,"1534\\d{6}","\\d{6,10}"] ,[,,"7(?:509|7(?:00|97)|829|937)\\d{6}","\\d{10}"] ,[,,"80(?:07(?:35|81)|8901)\\d{4}","\\d{10}"] @@ -1803,6 +2027,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"701511\\d{4}","\\d{10}"] ,[,,"56\\d{8}","\\d{10}"] ,"JE",44,"00","0"," x",,"0",,,,,,[,,"76(?:0[012]|2[356]|4[0134]|5[49]|6[0-369]|77|81|9[39])\\d{6}","\\d{10}"] +,,,[,,"NA","NA"] +,[,,"3(?:0(?:07(?:35|81)|8901)|3\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))\\d{4}|55\\d{8}","\\d{10}"] ] ,"JM":[,[,,"[89]\\d{9}","\\d{7,10}"] ,[,,"876(?:(?:5[0-26]|6\\d|7[1-6]|9[2-8])\\d{5}|(?:7(?:0[2-689]|8[056]|9[45])|9(?:0[1-8]|1[02378]|9[2-468]))\\d{4})","\\d{7,10}"] @@ -1810,10 +2036,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"JM",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"876"] +,,"876",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"JO":[,[,,"[235-9]\\d{7,8}","\\d{8,9}"] ,[,,"[2356][2-8]\\d{6}","\\d{7,8}"] ,[,,"7(?:[1-8]\\d|9[02-9])\\d{6}","\\d{9}"] @@ -1830,9 +2058,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"JP":[,[,,"\\d{9,10}","\\d{9,10}"] -,[,,"(?:1(?:2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-578])|2[2-9]\\d|[36][1-9]\\d|4(?:6[0235-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}","\\d{9}"] +,[,,"(?:1(?:1[236-8]|2[3-6]|3[3-9]|4[2-6]|[58][2-8]|6[2-7]|7[2-9]|9[1-8])|2[2-9]\\d|[36][1-9]\\d|4(?:6[0235-8]|[2-578]\\d|9[2-59])|5(?:6[1-9]|7[2-8]|[2-589]\\d)|7(?:3[4-9]|4[02-9]|[25-9]\\d)|8(?:3[2-9]|4[5-9]|5[1-9]|8[03-9]|[2679]\\d)|9(?:[679][1-9]|[2-58]\\d))\\d{6}","\\d{9}"] ,[,,"[7-9]0\\d{8}","\\d{10}"] ,[,,"120\\d{6}","\\d{9}"] ,[,,"990\\d{6}","\\d{9}"] @@ -1847,16 +2077,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["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])","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]))","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]))","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]))"] ,"0$1",""] -,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["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)","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])","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))"] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["1|2(?:23|5[5-89]|64|78|8[39]|91)|4(?:2[2689]|64|7[347])|5(?:[2-589]|39)|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93)","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])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93[34])","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])|60|8(?:[46-9]|3[279]|2[124589])|9(?:[235-8]|93(?:31|4))"] ,"0$1",""] ,[,"(\\d{3})(\\d{2})(\\d{4})","$1-$2-$3",["2(?:9[14-79]|74|[34]7|[56]9)|82|993"] ,"0$1",""] -,[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["[36]|4(?:2[09]|7[01])"] +,[,"(\\d)(\\d{4})(\\d{4})","$1-$2-$3",["3|4(?:2[09]|7[01])|6[1-9]"] ,"0$1",""] ,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479]"] ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KE":[,[,,"\\d{6,10}","\\d{4,10}"] ,[,,"(?:20|4[0-6]|5\\d|6[0-24-9])\\d{4,7}","\\d{4,9}"] @@ -1872,6 +2104,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KG":[,[,,"[356-8]\\d{8}","\\d{5,9}"] ,[,,"(?:3(?:1(?:2\\d|3[1-9]|52|6[1-8])|2(?:22|3[0-479]|6[0-7])|4(?:22|5[6-9]|6[0-4])|5(?:22|3[4-7]|59|6[0-5])|6(?:22|5[35-7]|6[0-3])|7(?:22|3[468]|4[1-8]|59|6\\d|7[5-7])|9(?:22|4[1-7]|6[0-8]))|6(?:09|12|2[2-4])\\d)\\d{5}","\\d{5,9}"] @@ -1887,6 +2121,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KH":[,[,,"[1-9]\\d{7,9}","\\d{6,10}"] ,[,,"(?:2[3-6]|3[2-6]|4[2-4]|[5-7][2-5])[2-47-9]\\d{5}","\\d{6,8}"] @@ -1902,6 +2138,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KI":[,[] ,[] @@ -1912,6 +2150,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"KI",686,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KM":[,[,,"[37]\\d{6}","\\d{7}"] ,[,,"7(?:6[0-37-9]|7[0-57-9])\\d{4}","\\d{7}"] @@ -1924,6 +2164,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"KM",269,"00",,,,,,,,[[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KN":[,[,,"[89]\\d{9}","\\d{7,10}"] ,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7,10}"] @@ -1931,10 +2173,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"KN",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"869"] +,,"869",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"KP":[,[] ,[] ,[] @@ -1944,9 +2188,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"KP",850,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"] -,[,,"1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))\\d{4}|(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}"] +,[,,"(?:2|[34][1-3]|5[1-5]|6[1-4])(?:1\\d{2,3}|[2-9]\\d{6,7})","\\d{4,10}"] ,[,,"1[0-25-9]\\d{7,8}","\\d{9,10}"] ,[,,"80\\d{7}","\\d{9}"] ,[,,"60[2-9]\\d{6}","\\d{9}"] @@ -1977,21 +2223,25 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"1(?:5(?:44|66|77|88|99)|6(?:00|44|6[16]|70|88))\\d{4}","\\d{8}"] ] ,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"] ,[,,"(?:18\\d|2(?:[23]\\d{2}|4[1-35-9]\\d|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}"] -,[,,"(?:5[05]|6[05-7]|9[0479])\\d{6}","\\d{8}"] +,[,,"(?:5(?:0[02]|5\\d)|6(?:0[03679]|5[015-9]|6\\d|7[067])|9(?:0[09]|4[049]|[79]\\d))\\d{5}","\\d{8}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"KW",965,"00","0",,,"0",,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[1269]"] -,"0$1",""] +,"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[1269]"] +,"",""] ,[,"(5[05]\\d)(\\d{5})","$1 $2",["5"] -,"0$1",""] +,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"KY":[,[,,"[389]\\d{9}","\\d{7,10}"] ,[,,"345(?:2(?:22|44)|444|6(?:23|38|40)|7(?:6[6-9]|77)|8(?:00|1[45]|25|4[89]|88)|9(?:14|4[035-9]))\\d{4}","\\d{7,10}"] @@ -1999,10 +2249,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}|345976\\d{4}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"KY",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"345"] +,,"345",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"KZ":[,[,,"(?:[67]\\d{2}|80[09])\\d{7}","\\d{10}"] ,[,,"7(?:1(?:0(?:[23]\\d|4[023]|59|63)|1(?:[23]\\d|4[0-79]|59)|2(?:[23]\\d|59)|3(?:2\\d|3[1-7]|4[1235-9]|59)|4(?:2\\d|3[013-79]|4[0-58]|5[1-79])|5(?:2\\d|3[1-8]|4[1-7]|59)|6(?:22|[34]\\d|5[19])|72\\d|8(?:[27]\\d|3[1-46-9]|4[0-4]|))|2(?:1(?:[23]\\d|4[46-9]|5[3469])|2(?:2\\d|3[0679]|46|5[12679]|)|3(?:[234]\\d|5[139]|)|4(?:22|3[1235-8])|5(?:[23]\\d|4[0124-8]|59)|6(?:22|3[1-9]|4[0-4]|59)|7(?:[23]\\d|40|5[279]|7\\d)|8(?:[23]\\d|4[0-3]|59)|9(?:2\\d|3[12478]|59))|3622)\\d{5}","\\d{10}"] ,[,,"7(?:0[01257]\\d{2}|1[2-578]9[01]|2(?:[13-6]9[01]|7(?:58|9[01]))|6[02-4]\\d{2}|7[157]\\d{2})\\d{5}|6\\d{9}","\\d{10}"] @@ -2012,6 +2264,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"KZ",7,"8~10","8",,,"8",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LA":[,[,,"[2-57]\\d{7,9}","\\d{6,10}"] ,[,,"(?:[2-57]1|54)\\d{6}","\\d{6,8}"] @@ -2029,6 +2283,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LB":[,[,,"[13-9]\\d{6,7}","\\d{7,8}"] ,[,,"(?:[14-6]\\d{2}|7(?:[2-57-9]\\d|62)|[89][2-9]\\d)\\d{4}","\\d{7}"] @@ -2044,6 +2300,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LC":[,[,,"[789]\\d{9}","\\d{7,10}"] ,[,,"758(?:234|4(?:5[0-9]|6[2-9]|8[0-2])|638|758)\\d{4}","\\d{7,10}"] @@ -2051,10 +2309,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"LC",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"758"] +,,"758",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -2073,6 +2333,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LK":[,[,,"[1-9]\\d{8}","\\d{7,9}"] ,[,,"(?:[189]1|2[13-7]|3[1-8]|4[157]|5[12457]|6[35-7])[2-57]\\d{6}","\\d{7,9}"] @@ -2088,6 +2350,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LR":[,[,,"(?:[279]\\d|[4-6])\\d{6}","\\d{7,8}"] ,[,,"2\\d{7}","\\d{8}"] @@ -2103,6 +2367,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LS":[,[,,"[2568]\\d{7}","\\d{8}"] ,[,,"2\\d{7}","\\d{8}"] @@ -2115,6 +2381,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"LS",266,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"LT":[,[,,"[3-9]\\d{7}","\\d{8}"] ,[,,"(?:3[1478]|4[124-6]|52)\\d{6}","\\d{8}"] @@ -2132,16 +2400,39 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 $1",""] ] ,,[,,"NA","NA"] -] -,"LU":[,[] -,[] -,[] -,[,,"NA","NA"] -,[,,"NA","NA"] -,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] +] +,"LU":[,[,,"[24-9]\\d{3,10}|3(?:[0-46-9]\\d{2,9}|5[013-9]\\d{1,8})","\\d{4,11}"] +,[,,"(?:2(?:2\\d{1,2}|3[2-9]|[67]\\d|4[1-8]\\d?|5[1-5]\\d?|9[0-24-9]\\d?)|3(?:[059][05-9]|[13]\\d|[26][015-9]|4[0-26-9]|7[0-389]|8[08])\\d?|4\\d{2,3}|5(?:[01458]\\d|[27][0-69]|3[0-3]|[69][0-7])\\d?|7(?:1[019]|2[05-9]|3[05]|[45][07-9]|[679][089]|8[06-9])\\d?|8(?:0[2-9]|1[0-36-9]|3[3-9]|[469]9|[58][7-9]|7[89])\\d?|9(?:0[89]|2[0-49]|37|49|5[0-27-9]|7[7-9]|9[0-478])\\d?)\\d{1,7}","\\d{4,11}"] +,[,,"6[269][18]\\d{6}","\\d{9}"] +,[,,"800\\d{5}","\\d{8}"] +,[,,"90[01]\\d{5}","\\d{8}"] +,[,,"801\\d{5}","\\d{8}"] +,[,,"70\\d{6}","\\d{8}"] +,[,,"20\\d{2,8}","\\d{4,10}"] +,"LU",352,"00",,,,"15(?:0[06]|1[12]|35|4[04]|55|6[26]|77|88|99)\\d",,,,[[,"(\\d{2})(\\d{3})","$1 $2",["[23-5]|7[1-9]|[89](?:[1-9]|0[2-9])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",["[23-5]|7[1-9]|[89](?:[1-9]|0[2-9])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["20"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4",["2(?:[0367]|4[3-8])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["20"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{1,2})","$1 $2 $3 $4 $5",["2(?:[0367]|4[3-8])"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})(\\d{1,4})","$1 $2 $3 $4",["2(?:[12589]|4[12])|[3-5]|7[1-9]|[89](?:[1-9]|0[2-9])"] +,"",""] +,[,"(\\d{3})(\\d{2})(\\d{3})","$1 $2 $3",["[89]0[01]|70"] +,"",""] +,[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["6"] +,"",""] +] +,,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"LU",352,"00",,,,,,,1,,,[,,"NA","NA"] ] ,"LV":[,[,,"[2689]\\d{7}","\\d{8}"] ,[,,"6\\d{7}","\\d{8}"] @@ -2154,16 +2445,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"LV",371,"00",,,,,,,,[[,"([2689]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"LY":[,[] -,[] -,[] +,"LY":[,[,,"[25679]\\d{8}","\\d{7,9}"] +,[,,"(?:2[1345]|5[1347]|6[123479]|71)\\d{7}","\\d{7,9}"] +,[,,"9[12356]\\d{7}","\\d{9}"] +,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,"LY",218,"00","0",,,"0",,,,[[,"([25679]\\d)(\\d{7})","$1-$2",,"0$1",""] +] +,,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"LY",218,"00","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"MA":[,[,,"[5689]\\d{8}","\\d{9}"] ,[,,"5(?:2(?:(?:[015-7]\\d|2[2-9]|3[2-57]|4[2-8]|8[235-9]|)\\d|9(?:0\\d|[89]0))|3(?:(?:[0-4]\\d|[57][2-9]|6[235-8]|9[3-9])\\d|8(?:0\\d|[89]0)))\\d{4}","\\d{9}"] @@ -2183,16 +2480,27 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"MC":[,[] -,[] -,[] +,"MC":[,[,,"[4689]\\d{7,8}","\\d{8,9}"] +,[,,"9[2-47-9]\\d{6}","\\d{8}"] +,[,,"6\\d{8}|4\\d{7}","\\d{8,9}"] +,[,,"(?:8\\d|90)\\d{6}","\\d{8}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,"MC",377,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[89]"] +,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["4"] +,"0$1",""] +,[,"(6)(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4 $5",["6"] +,"0$1",""] +] +,,[,,"NA","NA"] +,,,[,,"8\\d{7}","\\d{8}"] ,[,,"NA","NA"] -,"MC",377,"00","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"MD":[,[,,"[256-9]\\d{7}","\\d{8}"] ,[,,"(?:2(?:1[0569]|2\\d|3[015-7]|4[1-46-9]|5[0-24689]|6[2-589]|7[1-37]|9[1347-9])|5(?:33|5[257]))\\d{5}","\\d{5,8}"] @@ -2210,6 +2518,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ME":[,[] ,[] @@ -2220,6 +2530,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"ME",382,"99","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MG":[,[,,"[23]\\d{8}","\\d{7,9}"] ,[,,"2(?:0(?:(?:2\\d|4[47]|5[3467]|6[279]|8[268]|9[245])\\d|7(?:2[29]|[35]\\d))|210\\d)\\d{4}","\\d{7,9}"] @@ -2232,6 +2544,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MG",261,"00","0",,,"0",,,,[[,"([23]\\d)(\\d{2})(\\d{3})(\\d{2})","$1 $2 $3 $4",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MF":[,[,,"[56]\\d{8}","\\d{9}"] ,[,,"590(?:10|2[79]|5[128]|[78]7)\\d{4}","\\d{9}"] @@ -2242,6 +2556,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MF",590,"00","0",,,"0",,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MH":[,[] ,[] @@ -2252,6 +2568,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MH",692,"011","1",,,"1",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MK":[,[,,"[2-578]\\d{7}","\\d{8}"] ,[,,"(?:2(?:[23]\\d|5[125]|61)|3(?:1[3-6]|2[2-6]|3[2-5]|4[235])|4(?:[23][2-6]|4[3-6]|5[25]|6[25-8]|7[24-6]|8[4-6]))\\d{5}","\\d{6,8}"] @@ -2269,6 +2587,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ML":[,[,,"[246-8]\\d{7}","\\d{8}"] ,[,,"(?:2(?:0(?:2[0-589]|7[027-9])|1(?:2[5-7]|[3-689]\\d))|442\\d)\\d{4}","\\d{8}"] @@ -2281,6 +2601,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ML",223,"00","0",,,"0",,,,[[,"([246-8]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MM":[,[,,"[124-8]\\d{5,7}|9\\d{7,8}","\\d{5,9}"] ,[,,"(?:1\\d|2|4[2-6]|5[2-9]|6\\d|7[0-5]|8[1-6])\\d{5}|1333\\d{4}","\\d{5,8}"] @@ -2304,6 +2626,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MN":[,[,,"[12]\\d{7,9}|[57-9]\\d{7}","\\d{8,10}"] ,[,,"[12](?:1\\d|2(?:[1-3]\\d?|7\\d)|3[2-8]\\d{1,2}|4[2-68]\\d{1,2}|5[1-4689]\\d{1,2})\\d{5}|(?:5[0568]|70)\\d{6}","\\d{8,10}"] @@ -2325,6 +2649,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MO":[,[,,"[268]\\d{7}","\\d{8}"] ,[,,"(?:28[2-57-9]|8[2-57-9]\\d)\\d{5}","\\d{8}"] @@ -2337,6 +2663,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MO",853,"00",,,,,,,,[[,"([268]\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MP":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"670(?:2(?:3[3-5]|88|56)|32[23]|4[38]3|532|6(?:64|70|8\\d))\\d{4}","\\d{7,10}"] @@ -2344,10 +2672,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"MP",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"670"] +,,"670",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"MQ":[,[] ,[] ,[] @@ -2357,6 +2687,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MR":[,[,,"[2-4]\\d{6,7}|[5-7]\\d{6}|8\\d{7}","\\d{7,8}"] ,[,,"5(?:1[035]|2[0-69]|3[0348]|4[468]|5[02-467]|6[39]|7[4-69])\\d{4}|[2-4]5\\d{6}","\\d{7,8}"] @@ -2372,6 +2704,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MS":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"664491\\d{4}","\\d{7,10}"] @@ -2379,10 +2713,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"MS",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"664"] +,,"664",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"MT":[,[,,"[2579]\\d{7}","\\d{8}"] ,[,,"2(?:0(?:1[0-6]|[69]\\d)|[1-357]\\d{2})\\d{4}","\\d{8}"] ,[,,"(?:7(?:210|[79]\\d{2}|)|9(?:2[13]\\d|696|8(?:1[1-3]|89|97)|9\\d{2}))\\d{4}","\\d{8}"] @@ -2394,6 +2730,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MT",356,"00",,,,,,,,[[,"(\\d{4})(\\d{4})","$1 $2",,"",""] ] ,,[,,"7117\\d{4}","\\d{8}"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MU":[,[,,"[2-9]\\d{6}","\\d{7}"] ,[,,"(?:2(?:[034789]\\d|1[0-8]|2[0-79])|4(?:[013-8]\\d|2[4-7])|[56]\\d{2}|8(?:14|3[129]))\\d{4}","\\d{7}"] @@ -2406,6 +2744,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MU",230,"020",,,,,,,,[[,"([2-9]\\d{2})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MV":[,[,,"[3679]\\d{6}","\\d{7}"] ,[,,"(?:3(?:00|3[0-59]|)|6(?:[567][02468]|8[024689]))\\d{4}","\\d{7}"] @@ -2418,6 +2758,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"MV",960,"0(?:0|19)",,,,,,"00",,[[,"(\\d{3})(\\d{4})","$1-$2",,"",""] ] ,,[,,"781\\d{4}","\\d{7}"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MW":[,[,,"(?:[13-5]|[27]\\d{2}|[89](?:\\d{2})?)\\d{6}","\\d{7,9}"] ,[,,"(?:1[2-9]|21\\d{2})\\d{5}","\\d{7,9}"] @@ -2437,6 +2779,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MX":[,[,,"[1-9]\\d{9,10}","\\d{7,11}"] ,[,,"(?:33|55|81)\\d{8}|(?:2(?:2[2-9]|3[1-35-8]|4[13-9]|7[1-689]|8[1-58]|9[467])|3(?:1[1-79]|[2458][1-9]|7[1-8]|9[1-5])|4(?:1[1-57-9]|[24-6][1-9]|[37][1-8]|8[1-35-9]|9[2-689])|5(?:88|9[1-79])|6(?:1[2-68]|[234][1-9]|5[1-3689]|6[12457-9]|7[1-7]|8[67]|9[4-8])|7(?:[13467][1-9]|2[1-8]|5[13-9]|8[1-69]|9[17])|8(?:2[13-689]|3[1-6]|4[124-6]|6[1246-9]|7[1-378]|9[12479])|9(?:1[346-9]|2[1-4]|3[2-46-8]|5[1348]|[69][1-9]|7[12]|8[1-8]))\\d{7}","\\d{7,10}"] @@ -2465,6 +2809,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,""] ] ,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MY":[,[,,"[13-9]\\d{7,9}","\\d{6,10}"] ,[,,"(?:3\\d{2}|[4-79]\\d|8[2-9])\\d{6}","\\d{6,9}"] @@ -2486,6 +2832,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"MZ":[,[,,"[28]\\d{7,8}","\\d{8,9}"] ,[,,"2(?:[1346]\\d|5[0-2]|[78][12]|93)\\d{5}","\\d{8}"] @@ -2501,6 +2849,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NA":[,[,,"[68]\\d{7,8}","\\d{8,9}"] ,[,,"6(?:1(?:17|2(?:[0189]\\d|[23-6]|7\\d?)|3(?:2\\d|3[378])|4[01]|69|7[014])|2(?:17|25|5(?:[0-36-8]|4\\d?)|69|70)|3(?:17|2(?:[0237]\\d?|[14-689])|34|6[29]|7[01]|81)|4(?:17|2(?:[012]|7?)|4(?:[06]|1\\d)|5(?:[01357]|[25]\\d?)|69|7[01])|5(?:17|2(?:[0459]|[23678]\\d?)|69|7[01])|6(?:17|2(?:5|6\\d?)|38|42|69|7[01])|7(?:17|2(?:[569]|[234]\\d?)|3(?:0\\d?|[13])|69|7[01]))\\d{4}","\\d{8,9}"] @@ -2520,6 +2870,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NC":[,[] ,[] @@ -2530,6 +2882,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NC",687,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NE":[,[,,"[029]\\d{7}","\\d{8}"] ,[,,"2(?:0(?:20|3[1-7]|4[134]|5[14]|6[14578]|7[1-578])|1(?:4[145]|5[14]|6[14-68]|7[169]|88))\\d{4}","\\d{8}"] @@ -2545,6 +2899,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NF":[,[] ,[] @@ -2555,10 +2911,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NF",672,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NG":[,[,,"[1-69]\\d{5,8}|[78]\\d{5,13}","\\d{5,14}"] ,[,,"[12]\\d{6,7}|9\\d{7}|(?:4[023568]|5[02368]|6[02-469]|7[569]|8[2-9])\\d{6}|(?:4[47]|5[14579]|6[1578]|7[0-357])\\d{5,6}|(?:78|41)\\d{5}","\\d{5,9}"] -,[,,"(?:70[3-9]|8(?:0[2-9]|1[23]))\\d{7}|(?:702[1-9]|819[01])\\d{6}","\\d{10}"] +,[,,"(?:70(?:[3-9]\\d|2[1-9])|8(?:0[2-9]|1[23689])\\d)\\d{6}","\\d{10}"] ,[,,"800\\d{7,11}","\\d{10,14}"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2568,9 +2926,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"([3-8]\\d)(\\d{3})(\\d{2,3})","$1 $2 $3",["[3-6]|7(?:[1-79]|0[1-9])|8[2-9]"] ,"0$1",""] -,[,"([78]\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["70[03-9]|8(?:0|1[23])"] -,"0$1",""] -,[,"([78]\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["702|819"] +,[,"([78]\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["70|8[01]"] ,"0$1",""] ,[,"([78]00)(\\d{4})(\\d{4,5})","$1 $2 $3",["[78]00"] ,"0$1",""] @@ -2580,6 +2936,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NI":[,[] ,[] @@ -2590,6 +2948,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NI",505,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NL":[,[,,"[1-9]\\d{6,9}","\\d{7,10}"] ,[,,"(?:1[0135-8]|2[02-69]|3[0-68]|4[0135-9]|[57]\\d|8[478])\\d{7}","\\d{9}"] @@ -2609,6 +2969,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NO":[,[,,"0\\d{4}|[2-9]\\d{7}","\\d{5}(?:\\d{3})?"] ,[,,"0\\d{4}|(?:2[1-4]|3[1-3578]|5[1-35-7]|6[1-4679]|7\\d)\\d{6}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"] @@ -2624,6 +2986,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NP":[,[,,"[1-8]\\d{5,7}|98[45]\\d{7}","\\d{6,10}"] ,[,,"(?:1[014-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-4679]|9[1-79])\\d{6}","\\d{6,8}"] @@ -2641,6 +3005,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NR":[,[] ,[] @@ -2651,6 +3017,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NR",674,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"NU":[,[,,"[1-5]\\d{3}","\\d{4}"] ,[,,"[34]\\d{3}","\\d{4}"] @@ -2661,27 +3029,31 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"NU",683,"00",,,,,,,,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"NZ":[,[,,"[2-9]\\d{7,9}","\\d{7,10}"] -,[,,"(?:3[2-79]|[479][2-689]|6[235-9])\\d{6}|24099\\d{3}","\\d{7,8}"] -,[,,"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})","\\d{8,10}"] -,[,,"(?:800|508)\\d{6,7}","\\d{9,10}"] -,[,,"900\\d{6,7}","\\d{9,10}"] +,"NZ":[,[,,"6[235-9]\\d{6}|[2-57-9]\\d{7,10}","\\d{7,11}"] +,[,,"(?:3[2-79]|[49][2-689]|6[235-9]|7[2-589])\\d{6}|24099\\d{3}","\\d{7,8}"] +,[,,"2(?:[079]\\d{7}|1(?:0\\d{5,7}|[12]\\d{5,6}|[3-9]\\d{5})|[28]\\d{7,8}|4[1-9]\\d{6})","\\d{8,10}"] +,[,,"508\\d{6,7}|80\\d{6,8}","\\d{8,10}"] +,[,,"90\\d{7,9}","\\d{9,11}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"NZ",64,"00","0",,,"0",,,,[[,"([34679])(\\d{3})(\\d{4})","$1-$2 $3",["[3467]|9[1-9]"] +,"NZ",64,"0(?:0|161)","0",,,"0",,"00",,[[,"([34679])(\\d{3})(\\d{4})","$1-$2 $3",["[3467]|9[1-9]"] ,"0$1",""] ,[,"(21)(\\d{4})(\\d{3,4})","$1 $2 $3",["21"] ,"0$1",""] ,[,"([2589]\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[0247-9]|5|[89]00"] ,"0$1",""] -,[,"(2[019])(\\d{3})(\\d{3})","$1 $2 $3",["2[019]"] +,[,"(\\d{2})(\\d{3})(\\d{3,4})","$1 $2 $3",["2[0169]|86"] ,"0$1",""] ,[,"(24099)(\\d{3})","$1 $2",["240","2409","24099"] ,"0$1",""] ] -,,[,,"NA","NA"] +,,[,,"[28]6\\d{6,7}","\\d{8,9}"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"OM":[,[,,"(?:2[3-6]|5|9[2-9])\\d{6}|800\\d{5,6}","\\d{7,9}"] ,[,,"2[3-6]\\d{6}","\\d{8}"] @@ -2699,6 +3071,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PA":[,[] ,[] @@ -2709,6 +3083,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PA",507,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PE":[,[,,"[14-9]\\d{7,8}","\\d{6,9}"] ,[,,"(?:1\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}","\\d{6,8}"] @@ -2726,6 +3102,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PF":[,[] ,[] @@ -2736,6 +3114,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PF",689,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"] ,[,,"(?:3\\d{2}|4[257]\\d|5[34]\\d|6(?:29|4[1-9])|85[02-46-9]|9[78]\\d)\\d{4}","\\d{7}"] @@ -2751,6 +3131,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PH":[,[,,"[2-9]\\d{7,9}|1800\\d{7,9}","\\d{7,13}"] ,[,,"(?:2|3[2-68]|4[2-9]|5[2-6]|6[2-58]|7[24578]|8[2-8])\\d{7}","\\d{7,9}"] @@ -2776,18 +3158,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PK":[,[,,"1\\d{8}|[2-8]\\d{5,11}|9(?:[013-9]\\d{4,9}|2\\d(?:111\\d{6}|\\d{3,7}))","\\d{6,12}"] ,[,,"(?:21|42)[2-9]\\d{7}|(?:2[25]|4[0146-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\\d{6}|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:1|2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8]))[2-9]\\d{5,6}|58[126]\\d{7}","\\d{6,10}"] ,[,,"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])|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}"] +,[,,"NA","NA"] ,[,,"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"] ,"(0$1)",""] -,[,"(\\d{3})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["(?:2[349]|45|54|60|72|8[2-5]|9[2-9])","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d1","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d11","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d111"] +,[,"(\\d{3})(111)(\\d{3})(\\d{3})","$1 $2 $3 $4",["2[349]|45|54|60|72|8[2-5]|9[2-9]","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d1","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d11","(?:2[349]|45|54|60|72|8[2-5]|9[2-9])\\d111"] ,"(0$1)",""] ,[,"(\\d{2})(\\d{7,8})","$1 $2",["(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]"] ,"(0$1)",""] @@ -2803,6 +3187,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"(?: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}"] ] ,"PL":[,[,,"[1-9]\\d{8}","\\d{9}"] ,[,,"(?:1[2-8]|2[2-59]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])\\d{7}","\\d{9}"] @@ -2818,6 +3204,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PM":[,[] ,[] @@ -2828,6 +3216,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PM",508,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PR":[,[,,"[789]\\d{9}","\\d{7,10}"] ,[,,"(?:787|939)[2-9]\\d{6}","\\d{7,10}"] @@ -2835,12 +3225,14 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"PR",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"787|939"] -,"PS":[,[,,"(?:[24589]\\d{7,9}|1(?:[78]\\d{8}|[49]\\d{2,3}))","\\d{4,10}"] -,[,,"(?:22[2379]|42[45]|82[01458]|92[369])\\d{5}","\\d{7,8}"] +,,"787|939",[,,"NA","NA"] +,[,,"NA","NA"] +] +,"PS":[,[,,"[24589]\\d{7,8}|1(?:[78]\\d{8}|[49]\\d{2,3})","\\d{4,10}"] +,[,,"(?:22[234789]|42[45]|82[01458]|92[369])\\d{5}","\\d{7,8}"] ,[,,"5[69]\\d{7}","\\d{9}"] ,[,,"1800\\d{6}","\\d{10}"] ,[,,"1(?:4|9\\d)\\d{2}","\\d{4,5}"] @@ -2855,10 +3247,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PT":[,[,,"[2-46-9]\\d{8}","\\d{9}"] ,[,,"2(?:[12]\\d|[35][1-689]|4[1-59]|6[1-35689]|7[1-9]|8[1-69]|9[1256])\\d{6}","\\d{9}"] -,[,,"9(?:[136]\\d{2}|2[25-79]\\d|4(?:80|9\\d))\\d{5}","\\d{9}"] +,[,,"9(?:[136]\\d{2}|2[124-79]\\d|4(?:80|9\\d))\\d{5}","\\d{9}"] ,[,,"4\\d{8}|80[02]\\d{6}","\\d{9}"] ,[,,"71\\d{7}","\\d{9}"] ,[,,"808\\d{6}","\\d{9}"] @@ -2867,6 +3261,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"PT",351,"00",,,,,,,,[[,"([2-46-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PW":[,[] ,[] @@ -2877,6 +3273,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PW",680,"011",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"PY":[,[] ,[] @@ -2887,6 +3285,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"PY",595,"002","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"QA":[,[,,"[3-8]\\d{6,7}","\\d{7,8}"] ,[,,"44\\d{6}","\\d{7,8}"] @@ -2902,6 +3302,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"RE":[,[,,"[268]\\d{8}","\\d{9}"] ,[,,"262\\d{6}","\\d{9}"] @@ -2914,7 +3316,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"RE",262,"00","0",,,"0",,,,[[,"([268]\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] ] ,,[,,"NA","NA"] -,1,"262|6[49]|8"] +,1,"262|6[49]|8",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"RO":[,[,,"[237-9]\\d{8}","\\d{9}"] ,[,,"[23][13-6]\\d{7}","\\d{9}"] ,[,,"7[1-8]\\d{7}","\\d{9}"] @@ -2929,6 +3333,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"RS":[,[,,"[1-46-9]\\d{4,11}","\\d{5,12}"] ,[,,"[1-3]\\d{6,9}","\\d{5,10}"] @@ -2948,12 +3354,14 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"RU":[,[,,"[3489]\\d{9}","\\d{10}"] ,[,,"(?:3(?:0[12]|4[1-35-79]|5[1-3]|8[1-58]|9[0145])|4(?:01|1[1356]|2[13467]|7[1-5]|8[1-7]|9[1-689])|8(?:1[1-8]|2[01]|3[13-6]|4[0-8]|5[15]|6[1-35-7]|7[1-37-9]))\\d{7}","\\d{10}"] ,[,,"9\\d{9}","\\d{10}"] -,[,,"800\\d{7}","\\d{10}"] -,[,,"809\\d{7}","\\d{10}"] +,[,,"80[04]\\d{7}","\\d{10}"] +,[,,"80[39]\\d{7}","\\d{10}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2963,7 +3371,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8 ($1)",""] ] ,,[,,"NA","NA"] -,1] +,1,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"RW":[,[,,"[27-9]\\d{8}","\\d{9}"] ,[,,"25\\d{7}","\\d{9}"] ,[,,"7[258]\\d{7}","\\d{9}"] @@ -2978,6 +3388,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SA":[,[,,"[1-9]\\d{7,10}","\\d{7,11}"] ,[,,"(?:1[24-7]|2[24-8]|3[35-8]|4[34-68]|6[2-5]|7[235-7])\\d{6}","\\d{7,8}"] @@ -2999,6 +3411,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SB":[,[] ,[] @@ -3009,6 +3423,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SC":[,[,,"[2-8]\\d{5,6}","\\d{6,7}"] ,[,,"(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|5(?:5\\d|6[0-2])|6(?:0[0-27-9]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])|78[0138])\\d{3}","\\d{6}"] @@ -3024,6 +3440,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SD":[,[,,"[19]\\d{8}","\\d{9}"] ,[,,"1(?:[25]\\d|8[3567])\\d{6}","\\d{9}"] @@ -3036,6 +3454,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"SD",249,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SE":[,[,,"\\d{7,10}","\\d{5,10}"] ,[,,"1(?:0[1-8]\\d{6}|[136]\\d{5,7}|(?:2[0-35]|4[0-4]|5[0-25-9]|7[13-6]|[89]\\d)\\d{5,6})|2(?:[136]\\d{5,7}|(?:2[0-7]|4[0136-8]|5[0-38]|7[018]|8[01]|9[0-57])\\d{5,6})|3(?:[356]\\d{5,7}|(?:0[0-4]|1\\d|2[0-25]|4[056]|7[0-2]|8[0-3]|9[023])\\d{5,6})|4(?:[0246]\\d{5,7}|(?:1[01-8]|3[0135]|5[14-79]|7[0-246-9]|8[0156]|9[0-689])\\d{5,6})|5(?:0[0-6]|1[1-5]|2[0-68]|3[0-4]|4\\d|5[0-5]|6[03-5]|7[013]|8[0-79]|9[01])\\d{5,6}|6(?:[03]\\d{5,7}|(?:1[1-3]|2[0-4]|4[02-57]|5[0-37]|6[0-3]|7[0-2]|8[0247]|9[0-356])\\d{5,6})|8\\d{6,8}|9(?:0\\d{5,7}|(?:1[0-68]|2\\d|3[02-59]|4[0-4]|5[0-4]|6[01]|7[0135-8]|8[01])\\d{5,6})","\\d{5,9}"] @@ -3045,27 +3465,46 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"77\\d{7}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"SE",46,"00","0",,,"0",,,,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"] +,"SE",46,"00","0",,,"0",,,,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1-$2 $3 $4",["8"] ,"0$1",""] -,[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"] +,[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"] ,"0$1",""] -,[,"([1-69]\\d)(\\d{3})(\\d{2})","$1 $2 $3",["1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90"] +,[,"([1-69]\\d)(\\d{3})(\\d{2})","$1-$2 $3",["1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90"] ,"0$1",""] -,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["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])"] +,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1-$2 $3 $4",["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])"] ,"0$1",""] -,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["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])"] +,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1-$2 $3",["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])"] ,"0$1",""] -,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-467]"] +,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1-$2 $3 $4",["7[02-467]"] ,"0$1",""] -,[,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"] +,[,"(20)(\\d{2,3})(\\d{2})","$1-$2 $3",["20"] ,"0$1",""] -,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"] +,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1-$2 $3 $4",["9[034]"] ,"0$1",""] ] -,,[,,"NA","NA"] +,[[,"(8)(\\d{2,3})(\\d{2,3})(\\d{2})","$1 $2 $3 $4",["8"] +,,""] +,[,"([1-69]\\d)(\\d{2,3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|90"] +,,""] +,[,"([1-69]\\d)(\\d{3})(\\d{2})","$1 $2 $3",["1[13689]|2[136]|3[1356]|4[0246]|54|6[03]|90"] +,,""] +,[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["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])"] +,,""] +,[,"(\\d{3})(\\d{2,3})(\\d{2})","$1 $2 $3",["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])"] +,,""] +,[,"(7[02-467])(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",["7[02-467]"] +,,""] +,[,"(20)(\\d{2,3})(\\d{2})","$1 $2 $3",["20"] +,,""] +,[,"(9[034]\\d)(\\d{2})(\\d{2})(\\d{3})","$1 $2 $3 $4",["9[034]"] +,,""] +] +,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SG":[,[,,"[36]\\d{7}|[17-9]\\d{7,10}","\\d{8,11}"] -,[,,"6[1-8]\\d{6}|7000\\d{7}","\\d{8,11}"] +,[,,"6[1-8]\\d{6}","\\d{8}"] ,[,,"(?:8[1-5]|9[0-8])\\d{6}","\\d{8}"] ,[,,"1?800\\d{7}","\\d{10,11}"] ,[,,"1900\\d{7}","\\d{11}"] @@ -3082,6 +3521,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"7000\\d{7}","\\d{11}"] ] ,"SH":[,[] ,[] @@ -3092,6 +3533,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SH",290,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SI":[,[,,"[1-7]\\d{6,7}|[89]\\d{4,7}","\\d{5,8}"] ,[,,"(?:1\\d|2[2-8]|3[4-8]|4[24-8]|[57][3-8])\\d{6}","\\d{7,8}"] @@ -3111,6 +3554,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SK":[,[,,"[2-689]\\d{8}","\\d{9}"] ,[,,"[2-5]\\d{8}","\\d{9}"] @@ -3128,6 +3573,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SL":[,[,,"[2-578]\\d{7}","\\d{6,8}"] ,[,,"[235]2[2-4][2-9]\\d{4}","\\d{6,8}"] @@ -3140,16 +3587,34 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"SL",232,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",,"(0$1)",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] -,"SM":[,[] -,[] -,[] +,"SM":[,[,,"[05-7]\\d{7,9}","\\d{6,10}"] +,[,,"0549(?:8[0157-9]|9\\d)\\d{4}","\\d{6,10}"] +,[,,"6[16]\\d{6}","\\d{8}"] ,[,,"NA","NA"] +,[,,"7[178]\\d{6}","\\d{8}"] ,[,,"NA","NA"] ,[,,"NA","NA"] +,[,,"5[158]\\d{6}","\\d{8}"] +,"SM",378,"00",,,,"(?:0549)?([89]\\d{5})","0549$1",,,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"] +,"",""] +,[,"(0549)(\\d{6})","$1 $2",["0"] +,"",""] +,[,"(\\d{6})","0549 $1",["[89]"] +,"",""] +] +,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",["[5-7]"] +,,""] +,[,"(0549)(\\d{6})","($1) $2",["0"] +,,""] +,[,"(\\d{6})","(0549) $1",["[89]"] +,,""] +] ,[,,"NA","NA"] +,,,[,,"NA","NA"] ,[,,"NA","NA"] -,"SM",378,"00","0",,,"0",,,1,,,[,,"NA","NA"] ] ,"SN":[,[,,"[37]\\d{8}","\\d{9}"] ,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}"] @@ -3162,6 +3627,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"SN",221,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SO":[,[,,"[13-59]\\d{6,7}","\\d{7,8}"] ,[,,"(?:5[57-9]|[134]\\d)\\d{5}","\\d{7}"] @@ -3177,6 +3644,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SR":[,[] ,[] @@ -3187,6 +3656,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SR",597,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ST":[,[,,"[29]\\d{6}","\\d{7}"] ,[,,"22\\d{5}","\\d{7}"] @@ -3199,6 +3670,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"ST",239,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SV":[,[] ,[] @@ -3209,6 +3682,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"SV",503,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SY":[,[,,"[1-59]\\d{7,8}","\\d{6,9}"] ,[,,"(?:1(?:1\\d?|4\\d|[2356])|2[1-35]|3(?:1\\d|[34])|4[13]|5[1-3])\\d{6}","\\d{6,9}"] @@ -3224,6 +3699,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"SZ":[,[,,"[02-7]\\d{6,7}","\\d{7,8}"] ,[,,"2?(?:2(?:0[07]|[13]7|2[57])|3(?:0[34]|[1278]3|3[23]|[46][34])|(?:40[4-69]|16|2[12]|3[57]|[4578]2|67)|5(?:0[5-7]|1[6-9]|[23][78]|48|5[01]))\\d{4}","\\d{7,8}"] @@ -3239,6 +3716,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,,[,,"NA","NA"] +,,,[,,"0800\\d{4}","\\d{8}"] +,[,,"NA","NA"] ] ,"TC":[,[,,"[689]\\d{9}","\\d{7,10}"] ,[,,"649(?:712|9(?:4\\d|50))\\d{4}","\\d{7,10}"] @@ -3246,10 +3725,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"64971[01]\\d{4}","\\d{10}"] ,"TC",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"649"] +,,"649",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -3261,6 +3742,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TD",235,"00|16",,,,,,"00",,[[,"(\\d{2})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TF":[,[] ,[] @@ -3271,6 +3754,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TF",262,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TG":[,[,,"[02-9]\\d{6}","\\d{7}"] ,[,,"(?:2[2-7]|3[23]|44|55|66|77)\\d{5}","\\d{7}"] @@ -3283,6 +3768,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TG",228,"00",,,,,,,,[[,"(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TH":[,[,,"[2-8]\\d{7,8}|1\\d{9}","\\d{8,10}"] ,[,,"(?:2[1-9]|3[24-9]|4[2-5]|5[3-6]|7[3-7])\\d{6}","\\d{8}"] @@ -3302,6 +3789,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TJ":[,[,,"[349]\\d{8}","\\d{3,9}"] ,[,,"(?:3(?:1[3-5]|2[245]|31|4[24-7]|5[25]|72)|4(?:46|74|87))\\d{6}","\\d{3,9}"] @@ -3321,6 +3810,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"8$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TK":[,[] ,[] @@ -3331,6 +3822,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TK",690,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TL":[,[,,"[2-47-9]\\d{6}","\\d{7}"] ,[,,"(?:2[1-5]|3[1-9]|4[1-4])\\d{5}","\\d{7}"] @@ -3343,6 +3836,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TL",670,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TM":[,[,,"[1-6]\\d{7}","\\d{8}"] ,[,,"(?:12\\d|243|[3-5]22)\\d{5}","\\d{8}"] @@ -3355,6 +3850,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TM",993,"8~10","8",,,"8",,,,[[,"([1-6]\\d)(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8 $1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TN":[,[,,"[247-9]\\d{7}","\\d{8}"] ,[,,"7\\d{7}","\\d{8}"] @@ -3367,6 +3864,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TN",216,"00",,,,,,,,[[,"([247-9]\\d)(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TO":[,[] ,[] @@ -3377,6 +3876,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TO",676,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TR":[,[,,"[2-589]\\d{9}","\\d{10}"] ,[,,"[2-4]\\d{9}|850\\d{7}","\\d{10}"] @@ -3389,6 +3890,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"TR",90,"00","0",,,"0",,,,[[,"([2-589]\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TT":[,[,,"[89]\\d{9}","\\d{7,10}"] ,[,,"868(?:2(?:01|2[1-4])|6(?:1[4-6]|2[1-9]|[3-6]\\d|7[0-79]|9[0-8])|82[12])\\d{4}","\\d{7,10}"] @@ -3396,10 +3899,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"TT",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"868"] +,,"868",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"TV":[,[] ,[] ,[] @@ -3409,6 +3914,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"TV",688,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TW":[,[,,"[2-9]\\d{7,8}","\\d{8,9}"] ,[,,"[2-8]\\d{7,8}","\\d{8,9}"] @@ -3424,10 +3931,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"TZ":[,[,,"\\d{9}","\\d{7,9}"] ,[,,"2[2-8]\\d{7}","\\d{7,9}"] -,[,,"(?:6[158]|7[1-9])(?:\\d{7})","\\d{9}"] +,[,,"(?:6[158]|7[1-9])\\d{7}","\\d{9}"] ,[,,"80[08]\\d{6}","\\d{9}"] ,[,,"90\\d{7}","\\d{9}"] ,[,,"8(?:40|6[01])\\d{6}","\\d{9}"] @@ -3441,6 +3950,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"UA":[,[,,"[3-689]\\d{8}","\\d{5,9}"] ,[,,"(?:3[1-8]|4[13-8]|5[1-7]|6[12459])\\d{7}","\\d{5,9}"] @@ -3458,6 +3969,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"UG":[,[,,"\\d{9}","\\d{5,9}"] ,[,,"3\\d{8}|4(?:[1-6]\\d|7[136]|8[1356]|96)\\d{6}|20(?:0\\d|24)\\d{5}","\\d{5,9}"] @@ -3475,14 +3988,16 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"US":[,[,,"[2-9]\\d{9}","\\d{7,10}"] -,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|69|7[089]|8[04])|5(?:0[1-57-9]|1[0235-8]|[23]0|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[167]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}"] -,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|69|7[089]|8[04])|5(?:0[1-57-9]|1[0235-8]|[23]0|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[167]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}"] +,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}"] +,[,,"(?:2(?:0[1-35-9]|1[02-9]|2[4589]|3[149]|4[08]|5[1-46]|6[0279]|7[06]|8[13])|3(?:0[1-57-9]|1[02-9]|2[0135]|3[014679]|47|5[12]|6[01]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[0235]|58|69|7[0589]|8[04])|5(?:0[1-57-9]|1[0235-8]|20|3[04]|4[01]|5[19]|6[1-37]|7[013-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[036]|3[016]|4[16]|5[017]|6[0-29]|78|8[12])|7(?:0[1-46-8]|1[2-9]|2[047]|3[124]|4[07]|5[47]|6[02359]|7[02-59]|8[156])|8(?:0[1-68]|1[02-8]|28|3[0-25]|4[3578]|5[06-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[058]|3[1678]|4[0179]|5[1246]|7[0-3589]|8[059]))[2-9]\\d{6}","\\d{7,10}"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"US",1,"011","1",,,"1",,,1,[[,"(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",,"",""] ,[,"(\\d{3})(\\d{4})","$1-$2",,"",""] @@ -3490,7 +4005,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",,,""] ] ,[,,"NA","NA"] -,1] +,1,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"UY":[,[] ,[] ,[] @@ -3500,6 +4017,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"UY",598,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"UZ":[,[,,"[679]\\d{8}","\\d{7,9}"] ,[,,"(?:6[125679]|7[0-69])\\d{7}","\\d{7,9}"] @@ -3512,6 +4031,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"UZ",998,"8~10","8",,,"8",,,,[[,"([679]\\d)(\\d{3})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"8$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VA":[,[,,"06\\d{8}","\\d{10}"] ,[,,"06698\\d{5}","\\d{10}"] @@ -3524,6 +4045,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"VA",379,"00",,,,,,,,[[,"(06)(\\d{4})(\\d{4})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VC":[,[,,"(?:784|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"] ,[,,"784(?:266|3(?:6[6-9]|7\\d|8[0-24-6])|4(?:38|5[0-36-8]|8\\d|9[01])|555|638|784)\\d{4}","\\d{7,10}"] @@ -3531,10 +4054,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"VC",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"784"] +,,"784",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] @@ -3546,6 +4071,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"VE",58,"00","0",,,"1\\d{2}|0",,,,[[,"(\\d{3})(\\d{7})","$1-$2",,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VG":[,[,,"(?:284|8(?:00|66|77|88)|900)[2-9]\\d{6}","\\d{7,10}"] ,[,,"284(?:(?:229|4(?:46|9[45])|8(?:52|6[459]))\\d{4}|496[0-5]\\d{3})","\\d{7,10}"] @@ -3553,20 +4080,24 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"VG",1,"011","1",,,"1",,,,,,[,,"NA","NA"] -,,"284"] +,,"284",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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}"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"5(?:00|33|44)[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] ,"VI",1,"011","1",,,"1",,,1,,,[,,"NA","NA"] -,,"340"] +,,"340",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"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\\d|6[3-9]|88|99))\\d{7}","\\d{9,10}"] @@ -3593,6 +4124,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"VU":[,[] ,[] @@ -3603,6 +4136,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"VU",678,"00",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"WF":[,[] ,[] @@ -3613,6 +4148,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"WF",681,"19",,,,,,,1,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"WS":[,[,,"[2-8]\\d{4,6}","\\d{5,7}"] ,[,,"(?:[2-5]\\d|6[1-9]|840\\d)\\d{3}","\\d{5,7}"] @@ -3628,6 +4165,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"YE":[,[,,"[1-7]\\d{6,8}","\\d{6,9}"] ,[,,"(?:1(?:7\\d|[2-68])|2[2-68]|3[2358]|4[2-58]|5[2-6]|6[3-58]|7[24-68])\\d{5}","\\d{6,8}"] @@ -3643,6 +4182,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"YT":[,[,,"[268]\\d{8}","\\d{9}"] ,[,,"2696[0-4]\\d{4}","\\d{9}"] @@ -3653,7 +4194,9 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"YT",262,"00","0",,,"0",,,,,,[,,"NA","NA"] -,,"269|63"] +,,"269|63",[,,"NA","NA"] +,[,,"NA","NA"] +] ,"ZA":[,[,,"\\d{9}","\\d{8,9}"] ,[,,"(?:1[0-8]|2[1-478]|3[1-69]|4\\d|5[1346-8])\\d{7}","\\d{8,9}"] ,[,,"(?:7[1-4689]|8[1-5789])\\d{7}","\\d{9}"] @@ -3668,6 +4211,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ZM":[,[,,"[289]\\d{8}","\\d{9}"] ,[,,"21[1-8]\\d{6}","\\d{9}"] @@ -3683,6 +4228,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] ,"ZW":[,[,,"2(?:[012457-9]\\d{3,8}|6\\d{3,6})|[13-79]\\d{4,8}|86\\d{8}","\\d{3,10}"] ,[,,"(?:1[3-9]|2(?:0[45]|[16]|2[28]|[49]8?|58[23]|7[246]|8[1346-9])|3(?:08?|17?|3[78]|[2456]|7[1569]|8[379])|5(?:[07-9]|1[78]|483|5(?:7?|8))|6(?:0|28|37?|[45][68][78]|98?)|848)\\d{3,6}|(?:2(?:27|5|7[135789]|8[25])|3[39]|5[1-46]|6[126-8])\\d{4,6}|2(?:0|70)\\d{5,6}|(?:4\\d|9[2-8])\\d{4,7}","\\d{3,10}"] @@ -3712,5 +4259,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] ] }; diff --git a/javascript/i18n/phonenumbers/phonemetadata.pb.js b/javascript/i18n/phonenumbers/phonemetadata.pb.js index 918536a..1d67971 100644 --- a/javascript/i18n/phonenumbers/phonemetadata.pb.js +++ b/javascript/i18n/phonenumbers/phonemetadata.pb.js @@ -1,7 +1,7 @@ /* * @license - * Protocol Buffer 2 Copyright 2008 Google Inc - * All other code copyright its respective owners(s). + * Protocol Buffer 2 Copyright 2008 Google Inc. + * All other code copyright its respective owners. * Copyright (C) 2010 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -29,6 +29,8 @@ goog.provide('i18n.phonenumbers.PhoneMetadataCollection'); goog.require('goog.proto2.Message'); + + /** * Message NumberFormat. * @constructor @@ -39,6 +41,15 @@ i18n.phonenumbers.NumberFormat = function() { }; goog.inherits(i18n.phonenumbers.NumberFormat, goog.proto2.Message); + +/** + * Overrides {@link goog.proto2.Message#clone} to specify its exact return type. + * @return {!i18n.phonenumbers.NumberFormat} The cloned message. + * @override + */ +i18n.phonenumbers.NumberFormat.prototype.clone; + + /** * Gets the value of the pattern field. * @return {?string} The value. @@ -62,13 +73,12 @@ i18n.phonenumbers.NumberFormat.prototype.getPatternOrDefault = function() { * @param {string} value The value. */ i18n.phonenumbers.NumberFormat.prototype.setPattern = function(value) { - this.set$Value(1, /** @type {Object} */ (value)); + this.set$Value(1, value); }; /** - * Returns whether the pattern field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the pattern field has a value. */ i18n.phonenumbers.NumberFormat.prototype.hasPattern = function() { return this.has$Value(1); @@ -76,8 +86,7 @@ i18n.phonenumbers.NumberFormat.prototype.hasPattern = function() { /** - * Gets the number of values in the pattern field. - * @return {number} + * @return {number} The number of values in the pattern field. */ i18n.phonenumbers.NumberFormat.prototype.patternCount = function() { return this.count$Values(1); @@ -115,13 +124,12 @@ i18n.phonenumbers.NumberFormat.prototype.getFormatOrDefault = function() { * @param {string} value The value. */ i18n.phonenumbers.NumberFormat.prototype.setFormat = function(value) { - this.set$Value(2, /** @type {Object} */ (value)); + this.set$Value(2, value); }; /** - * Returns whether the format field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the format field has a value. */ i18n.phonenumbers.NumberFormat.prototype.hasFormat = function() { return this.has$Value(2); @@ -129,8 +137,7 @@ i18n.phonenumbers.NumberFormat.prototype.hasFormat = function() { /** - * Gets the number of values in the format field. - * @return {number} + * @return {number} The number of values in the format field. */ i18n.phonenumbers.NumberFormat.prototype.formatCount = function() { return this.count$Values(2); @@ -170,22 +177,21 @@ i18n.phonenumbers.NumberFormat.prototype.getLeadingDigitsPatternOrDefault = func * @param {string} value The value to add. */ i18n.phonenumbers.NumberFormat.prototype.addLeadingDigitsPattern = function(value) { - this.add$Value(3, /** @type {Object} */ (value)); + this.add$Value(3, value); }; /** * Returns the array of values in the leading_digits_pattern field. - * @return {Array.} The values in the field. + * @return {!Array.} The values in the field. */ i18n.phonenumbers.NumberFormat.prototype.leadingDigitsPatternArray = function() { - return /** @type {Array.} */ (this.array$Values(3)); + return /** @type {!Array.} */ (this.array$Values(3)); }; /** - * Returns whether the leading_digits_pattern field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the leading_digits_pattern field has a value. */ i18n.phonenumbers.NumberFormat.prototype.hasLeadingDigitsPattern = function() { return this.has$Value(3); @@ -193,8 +199,7 @@ i18n.phonenumbers.NumberFormat.prototype.hasLeadingDigitsPattern = function() { /** - * Gets the number of values in the leading_digits_pattern field. - * @return {number} + * @return {number} The number of values in the leading_digits_pattern field. */ i18n.phonenumbers.NumberFormat.prototype.leadingDigitsPatternCount = function() { return this.count$Values(3); @@ -232,13 +237,12 @@ i18n.phonenumbers.NumberFormat.prototype.getNationalPrefixFormattingRuleOrDefaul * @param {string} value The value. */ i18n.phonenumbers.NumberFormat.prototype.setNationalPrefixFormattingRule = function(value) { - this.set$Value(4, /** @type {Object} */ (value)); + this.set$Value(4, value); }; /** - * Returns whether the national_prefix_formatting_rule field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the national_prefix_formatting_rule field has a value. */ i18n.phonenumbers.NumberFormat.prototype.hasNationalPrefixFormattingRule = function() { return this.has$Value(4); @@ -246,8 +250,7 @@ i18n.phonenumbers.NumberFormat.prototype.hasNationalPrefixFormattingRule = funct /** - * Gets the number of values in the national_prefix_formatting_rule field. - * @return {number} + * @return {number} The number of values in the national_prefix_formatting_rule field. */ i18n.phonenumbers.NumberFormat.prototype.nationalPrefixFormattingRuleCount = function() { return this.count$Values(4); @@ -285,13 +288,12 @@ i18n.phonenumbers.NumberFormat.prototype.getDomesticCarrierCodeFormattingRuleOrD * @param {string} value The value. */ i18n.phonenumbers.NumberFormat.prototype.setDomesticCarrierCodeFormattingRule = function(value) { - this.set$Value(5, /** @type {Object} */ (value)); + this.set$Value(5, value); }; /** - * Returns whether the domestic_carrier_code_formatting_rule field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the domestic_carrier_code_formatting_rule field has a value. */ i18n.phonenumbers.NumberFormat.prototype.hasDomesticCarrierCodeFormattingRule = function() { return this.has$Value(5); @@ -299,8 +301,7 @@ i18n.phonenumbers.NumberFormat.prototype.hasDomesticCarrierCodeFormattingRule = /** - * Gets the number of values in the domestic_carrier_code_formatting_rule field. - * @return {number} + * @return {number} The number of values in the domestic_carrier_code_formatting_rule field. */ i18n.phonenumbers.NumberFormat.prototype.domesticCarrierCodeFormattingRuleCount = function() { return this.count$Values(5); @@ -316,7 +317,6 @@ i18n.phonenumbers.NumberFormat.prototype.clearDomesticCarrierCodeFormattingRule - /** * Message PhoneNumberDesc. * @constructor @@ -327,6 +327,15 @@ i18n.phonenumbers.PhoneNumberDesc = function() { }; goog.inherits(i18n.phonenumbers.PhoneNumberDesc, goog.proto2.Message); + +/** + * Overrides {@link goog.proto2.Message#clone} to specify its exact return type. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The cloned message. + * @override + */ +i18n.phonenumbers.PhoneNumberDesc.prototype.clone; + + /** * Gets the value of the national_number_pattern field. * @return {?string} The value. @@ -350,13 +359,12 @@ i18n.phonenumbers.PhoneNumberDesc.prototype.getNationalNumberPatternOrDefault = * @param {string} value The value. */ i18n.phonenumbers.PhoneNumberDesc.prototype.setNationalNumberPattern = function(value) { - this.set$Value(2, /** @type {Object} */ (value)); + this.set$Value(2, value); }; /** - * Returns whether the national_number_pattern field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the national_number_pattern field has a value. */ i18n.phonenumbers.PhoneNumberDesc.prototype.hasNationalNumberPattern = function() { return this.has$Value(2); @@ -364,8 +372,7 @@ i18n.phonenumbers.PhoneNumberDesc.prototype.hasNationalNumberPattern = function( /** - * Gets the number of values in the national_number_pattern field. - * @return {number} + * @return {number} The number of values in the national_number_pattern field. */ i18n.phonenumbers.PhoneNumberDesc.prototype.nationalNumberPatternCount = function() { return this.count$Values(2); @@ -403,13 +410,12 @@ i18n.phonenumbers.PhoneNumberDesc.prototype.getPossibleNumberPatternOrDefault = * @param {string} value The value. */ i18n.phonenumbers.PhoneNumberDesc.prototype.setPossibleNumberPattern = function(value) { - this.set$Value(3, /** @type {Object} */ (value)); + this.set$Value(3, value); }; /** - * Returns whether the possible_number_pattern field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the possible_number_pattern field has a value. */ i18n.phonenumbers.PhoneNumberDesc.prototype.hasPossibleNumberPattern = function() { return this.has$Value(3); @@ -417,8 +423,7 @@ i18n.phonenumbers.PhoneNumberDesc.prototype.hasPossibleNumberPattern = function( /** - * Gets the number of values in the possible_number_pattern field. - * @return {number} + * @return {number} The number of values in the possible_number_pattern field. */ i18n.phonenumbers.PhoneNumberDesc.prototype.possibleNumberPatternCount = function() { return this.count$Values(3); @@ -456,13 +461,12 @@ i18n.phonenumbers.PhoneNumberDesc.prototype.getExampleNumberOrDefault = function * @param {string} value The value. */ i18n.phonenumbers.PhoneNumberDesc.prototype.setExampleNumber = function(value) { - this.set$Value(6, /** @type {Object} */ (value)); + this.set$Value(6, value); }; /** - * Returns whether the example_number field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the example_number field has a value. */ i18n.phonenumbers.PhoneNumberDesc.prototype.hasExampleNumber = function() { return this.has$Value(6); @@ -470,8 +474,7 @@ i18n.phonenumbers.PhoneNumberDesc.prototype.hasExampleNumber = function() { /** - * Gets the number of values in the example_number field. - * @return {number} + * @return {number} The number of values in the example_number field. */ i18n.phonenumbers.PhoneNumberDesc.prototype.exampleNumberCount = function() { return this.count$Values(6); @@ -487,7 +490,6 @@ i18n.phonenumbers.PhoneNumberDesc.prototype.clearExampleNumber = function() { - /** * Message PhoneMetadata. * @constructor @@ -498,36 +500,44 @@ i18n.phonenumbers.PhoneMetadata = function() { }; goog.inherits(i18n.phonenumbers.PhoneMetadata, goog.proto2.Message); + +/** + * Overrides {@link goog.proto2.Message#clone} to specify its exact return type. + * @return {!i18n.phonenumbers.PhoneMetadata} The cloned message. + * @override + */ +i18n.phonenumbers.PhoneMetadata.prototype.clone; + + /** * Gets the value of the general_desc field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getGeneralDesc = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(1)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(1)); }; /** * Gets the value of the general_desc field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getGeneralDescOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(1)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(1)); }; /** * Sets the value of the general_desc field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setGeneralDesc = function(value) { - this.set$Value(1, /** @type {Object} */ (value)); + this.set$Value(1, value); }; /** - * Returns whether the general_desc field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the general_desc field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasGeneralDesc = function() { return this.has$Value(1); @@ -535,8 +545,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasGeneralDesc = function() { /** - * Gets the number of values in the general_desc field. - * @return {number} + * @return {number} The number of values in the general_desc field. */ i18n.phonenumbers.PhoneMetadata.prototype.generalDescCount = function() { return this.count$Values(1); @@ -553,34 +562,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearGeneralDesc = function() { /** * Gets the value of the fixed_line field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getFixedLine = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(2)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(2)); }; /** * Gets the value of the fixed_line field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getFixedLineOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(2)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(2)); }; /** * Sets the value of the fixed_line field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setFixedLine = function(value) { - this.set$Value(2, /** @type {Object} */ (value)); + this.set$Value(2, value); }; /** - * Returns whether the fixed_line field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the fixed_line field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasFixedLine = function() { return this.has$Value(2); @@ -588,8 +596,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasFixedLine = function() { /** - * Gets the number of values in the fixed_line field. - * @return {number} + * @return {number} The number of values in the fixed_line field. */ i18n.phonenumbers.PhoneMetadata.prototype.fixedLineCount = function() { return this.count$Values(2); @@ -606,34 +613,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearFixedLine = function() { /** * Gets the value of the mobile field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getMobile = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(3)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(3)); }; /** * Gets the value of the mobile field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getMobileOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(3)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(3)); }; /** * Sets the value of the mobile field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setMobile = function(value) { - this.set$Value(3, /** @type {Object} */ (value)); + this.set$Value(3, value); }; /** - * Returns whether the mobile field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the mobile field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasMobile = function() { return this.has$Value(3); @@ -641,8 +647,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasMobile = function() { /** - * Gets the number of values in the mobile field. - * @return {number} + * @return {number} The number of values in the mobile field. */ i18n.phonenumbers.PhoneMetadata.prototype.mobileCount = function() { return this.count$Values(3); @@ -659,34 +664,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearMobile = function() { /** * Gets the value of the toll_free field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getTollFree = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(4)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(4)); }; /** * Gets the value of the toll_free field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getTollFreeOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(4)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(4)); }; /** * Sets the value of the toll_free field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setTollFree = function(value) { - this.set$Value(4, /** @type {Object} */ (value)); + this.set$Value(4, value); }; /** - * Returns whether the toll_free field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the toll_free field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasTollFree = function() { return this.has$Value(4); @@ -694,8 +698,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasTollFree = function() { /** - * Gets the number of values in the toll_free field. - * @return {number} + * @return {number} The number of values in the toll_free field. */ i18n.phonenumbers.PhoneMetadata.prototype.tollFreeCount = function() { return this.count$Values(4); @@ -712,34 +715,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearTollFree = function() { /** * Gets the value of the premium_rate field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getPremiumRate = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(5)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(5)); }; /** * Gets the value of the premium_rate field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getPremiumRateOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(5)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(5)); }; /** * Sets the value of the premium_rate field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setPremiumRate = function(value) { - this.set$Value(5, /** @type {Object} */ (value)); + this.set$Value(5, value); }; /** - * Returns whether the premium_rate field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the premium_rate field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasPremiumRate = function() { return this.has$Value(5); @@ -747,8 +749,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasPremiumRate = function() { /** - * Gets the number of values in the premium_rate field. - * @return {number} + * @return {number} The number of values in the premium_rate field. */ i18n.phonenumbers.PhoneMetadata.prototype.premiumRateCount = function() { return this.count$Values(5); @@ -765,34 +766,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearPremiumRate = function() { /** * Gets the value of the shared_cost field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getSharedCost = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(6)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(6)); }; /** * Gets the value of the shared_cost field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getSharedCostOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(6)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(6)); }; /** * Sets the value of the shared_cost field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setSharedCost = function(value) { - this.set$Value(6, /** @type {Object} */ (value)); + this.set$Value(6, value); }; /** - * Returns whether the shared_cost field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the shared_cost field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasSharedCost = function() { return this.has$Value(6); @@ -800,8 +800,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasSharedCost = function() { /** - * Gets the number of values in the shared_cost field. - * @return {number} + * @return {number} The number of values in the shared_cost field. */ i18n.phonenumbers.PhoneMetadata.prototype.sharedCostCount = function() { return this.count$Values(6); @@ -818,34 +817,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearSharedCost = function() { /** * Gets the value of the personal_number field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getPersonalNumber = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(7)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(7)); }; /** * Gets the value of the personal_number field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getPersonalNumberOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(7)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(7)); }; /** * Sets the value of the personal_number field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setPersonalNumber = function(value) { - this.set$Value(7, /** @type {Object} */ (value)); + this.set$Value(7, value); }; /** - * Returns whether the personal_number field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the personal_number field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasPersonalNumber = function() { return this.has$Value(7); @@ -853,8 +851,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasPersonalNumber = function() { /** - * Gets the number of values in the personal_number field. - * @return {number} + * @return {number} The number of values in the personal_number field. */ i18n.phonenumbers.PhoneMetadata.prototype.personalNumberCount = function() { return this.count$Values(7); @@ -871,34 +868,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearPersonalNumber = function() { /** * Gets the value of the voip field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getVoip = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(8)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(8)); }; /** * Gets the value of the voip field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getVoipOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(8)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(8)); }; /** * Sets the value of the voip field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setVoip = function(value) { - this.set$Value(8, /** @type {Object} */ (value)); + this.set$Value(8, value); }; /** - * Returns whether the voip field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the voip field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasVoip = function() { return this.has$Value(8); @@ -906,8 +902,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasVoip = function() { /** - * Gets the number of values in the voip field. - * @return {number} + * @return {number} The number of values in the voip field. */ i18n.phonenumbers.PhoneMetadata.prototype.voipCount = function() { return this.count$Values(8); @@ -924,34 +919,33 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearVoip = function() { /** * Gets the value of the pager field. - * @return {?i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getPager = function() { - return /** @type {?i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(21)); + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(21)); }; /** * Gets the value of the pager field or the default value if not set. - * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getPagerOrDefault = function() { - return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(21)); + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(21)); }; /** * Sets the value of the pager field. - * @param {i18n.phonenumbers.PhoneNumberDesc} value The value. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setPager = function(value) { - this.set$Value(21, /** @type {Object} */ (value)); + this.set$Value(21, value); }; /** - * Returns whether the pager field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the pager field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasPager = function() { return this.has$Value(21); @@ -959,8 +953,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasPager = function() { /** - * Gets the number of values in the pager field. - * @return {number} + * @return {number} The number of values in the pager field. */ i18n.phonenumbers.PhoneMetadata.prototype.pagerCount = function() { return this.count$Values(21); @@ -976,6 +969,108 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearPager = function() { /** + * Gets the value of the uan field. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.getUan = function() { + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(25)); +}; + + +/** + * Gets the value of the uan field or the default value if not set. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.getUanOrDefault = function() { + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(25)); +}; + + +/** + * Sets the value of the uan field. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.setUan = function(value) { + this.set$Value(25, value); +}; + + +/** + * @return {boolean} Whether the uan field has a value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.hasUan = function() { + return this.has$Value(25); +}; + + +/** + * @return {number} The number of values in the uan field. + */ +i18n.phonenumbers.PhoneMetadata.prototype.uanCount = function() { + return this.count$Values(25); +}; + + +/** + * Clears the values in the uan field. + */ +i18n.phonenumbers.PhoneMetadata.prototype.clearUan = function() { + this.clear$Field(25); +}; + + +/** + * Gets the value of the no_international_dialling field. + * @return {i18n.phonenumbers.PhoneNumberDesc} The value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.getNoInternationalDialling = function() { + return /** @type {i18n.phonenumbers.PhoneNumberDesc} */ (this.get$Value(24)); +}; + + +/** + * Gets the value of the no_international_dialling field or the default value if not set. + * @return {!i18n.phonenumbers.PhoneNumberDesc} The value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.getNoInternationalDiallingOrDefault = function() { + return /** @type {!i18n.phonenumbers.PhoneNumberDesc} */ (this.get$ValueOrDefault(24)); +}; + + +/** + * Sets the value of the no_international_dialling field. + * @param {!i18n.phonenumbers.PhoneNumberDesc} value The value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.setNoInternationalDialling = function(value) { + this.set$Value(24, value); +}; + + +/** + * @return {boolean} Whether the no_international_dialling field has a value. + */ +i18n.phonenumbers.PhoneMetadata.prototype.hasNoInternationalDialling = function() { + return this.has$Value(24); +}; + + +/** + * @return {number} The number of values in the no_international_dialling field. + */ +i18n.phonenumbers.PhoneMetadata.prototype.noInternationalDiallingCount = function() { + return this.count$Values(24); +}; + + +/** + * Clears the values in the no_international_dialling field. + */ +i18n.phonenumbers.PhoneMetadata.prototype.clearNoInternationalDialling = function() { + this.clear$Field(24); +}; + + +/** * Gets the value of the id field. * @return {?string} The value. */ @@ -998,13 +1093,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getIdOrDefault = function() { * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setId = function(value) { - this.set$Value(9, /** @type {Object} */ (value)); + this.set$Value(9, value); }; /** - * Returns whether the id field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the id field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasId = function() { return this.has$Value(9); @@ -1012,8 +1106,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasId = function() { /** - * Gets the number of values in the id field. - * @return {number} + * @return {number} The number of values in the id field. */ i18n.phonenumbers.PhoneMetadata.prototype.idCount = function() { return this.count$Values(9); @@ -1051,13 +1144,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getCountryCodeOrDefault = function() { * @param {number} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setCountryCode = function(value) { - this.set$Value(10, /** @type {Object} */ (value)); + this.set$Value(10, value); }; /** - * Returns whether the country_code field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the country_code field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasCountryCode = function() { return this.has$Value(10); @@ -1065,8 +1157,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasCountryCode = function() { /** - * Gets the number of values in the country_code field. - * @return {number} + * @return {number} The number of values in the country_code field. */ i18n.phonenumbers.PhoneMetadata.prototype.countryCodeCount = function() { return this.count$Values(10); @@ -1104,13 +1195,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getInternationalPrefixOrDefault = func * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setInternationalPrefix = function(value) { - this.set$Value(11, /** @type {Object} */ (value)); + this.set$Value(11, value); }; /** - * Returns whether the international_prefix field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the international_prefix field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasInternationalPrefix = function() { return this.has$Value(11); @@ -1118,8 +1208,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasInternationalPrefix = function() { /** - * Gets the number of values in the international_prefix field. - * @return {number} + * @return {number} The number of values in the international_prefix field. */ i18n.phonenumbers.PhoneMetadata.prototype.internationalPrefixCount = function() { return this.count$Values(11); @@ -1157,13 +1246,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getPreferredInternationalPrefixOrDefau * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setPreferredInternationalPrefix = function(value) { - this.set$Value(17, /** @type {Object} */ (value)); + this.set$Value(17, value); }; /** - * Returns whether the preferred_international_prefix field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the preferred_international_prefix field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredInternationalPrefix = function() { return this.has$Value(17); @@ -1171,8 +1259,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredInternationalPrefix = func /** - * Gets the number of values in the preferred_international_prefix field. - * @return {number} + * @return {number} The number of values in the preferred_international_prefix field. */ i18n.phonenumbers.PhoneMetadata.prototype.preferredInternationalPrefixCount = function() { return this.count$Values(17); @@ -1210,13 +1297,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixOrDefault = function( * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefix = function(value) { - this.set$Value(12, /** @type {Object} */ (value)); + this.set$Value(12, value); }; /** - * Returns whether the national_prefix field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the national_prefix field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefix = function() { return this.has$Value(12); @@ -1224,8 +1310,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefix = function() { /** - * Gets the number of values in the national_prefix field. - * @return {number} + * @return {number} The number of values in the national_prefix field. */ i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixCount = function() { return this.count$Values(12); @@ -1263,13 +1348,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getPreferredExtnPrefixOrDefault = func * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setPreferredExtnPrefix = function(value) { - this.set$Value(13, /** @type {Object} */ (value)); + this.set$Value(13, value); }; /** - * Returns whether the preferred_extn_prefix field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the preferred_extn_prefix field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredExtnPrefix = function() { return this.has$Value(13); @@ -1277,8 +1361,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasPreferredExtnPrefix = function() { /** - * Gets the number of values in the preferred_extn_prefix field. - * @return {number} + * @return {number} The number of values in the preferred_extn_prefix field. */ i18n.phonenumbers.PhoneMetadata.prototype.preferredExtnPrefixCount = function() { return this.count$Values(13); @@ -1316,13 +1399,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixForParsingOrDefault = * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefixForParsing = function(value) { - this.set$Value(15, /** @type {Object} */ (value)); + this.set$Value(15, value); }; /** - * Returns whether the national_prefix_for_parsing field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the national_prefix_for_parsing field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixForParsing = function() { return this.has$Value(15); @@ -1330,8 +1412,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixForParsing = function /** - * Gets the number of values in the national_prefix_for_parsing field. - * @return {number} + * @return {number} The number of values in the national_prefix_for_parsing field. */ i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixForParsingCount = function() { return this.count$Values(15); @@ -1369,13 +1450,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getNationalPrefixTransformRuleOrDefaul * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setNationalPrefixTransformRule = function(value) { - this.set$Value(16, /** @type {Object} */ (value)); + this.set$Value(16, value); }; /** - * Returns whether the national_prefix_transform_rule field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the national_prefix_transform_rule field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixTransformRule = function() { return this.has$Value(16); @@ -1383,8 +1463,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasNationalPrefixTransformRule = funct /** - * Gets the number of values in the national_prefix_transform_rule field. - * @return {number} + * @return {number} The number of values in the national_prefix_transform_rule field. */ i18n.phonenumbers.PhoneMetadata.prototype.nationalPrefixTransformRuleCount = function() { return this.count$Values(16); @@ -1422,13 +1501,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getSameMobileAndFixedLinePatternOrDefa * @param {boolean} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setSameMobileAndFixedLinePattern = function(value) { - this.set$Value(18, /** @type {Object} */ (value)); + this.set$Value(18, value); }; /** - * Returns whether the same_mobile_and_fixed_line_pattern field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the same_mobile_and_fixed_line_pattern field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasSameMobileAndFixedLinePattern = function() { return this.has$Value(18); @@ -1436,8 +1514,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasSameMobileAndFixedLinePattern = fun /** - * Gets the number of values in the same_mobile_and_fixed_line_pattern field. - * @return {number} + * @return {number} The number of values in the same_mobile_and_fixed_line_pattern field. */ i18n.phonenumbers.PhoneMetadata.prototype.sameMobileAndFixedLinePatternCount = function() { return this.count$Values(18); @@ -1455,44 +1532,43 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearSameMobileAndFixedLinePattern = f /** * Gets the value of the number_format field at the index given. * @param {number} index The index to lookup. - * @return {?i18n.phonenumbers.NumberFormat} The value. + * @return {i18n.phonenumbers.NumberFormat} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getNumberFormat = function(index) { - return /** @type {?i18n.phonenumbers.NumberFormat} */ (this.get$Value(19, index)); + return /** @type {i18n.phonenumbers.NumberFormat} */ (this.get$Value(19, index)); }; /** * Gets the value of the number_format field at the index given or the default value if not set. * @param {number} index The index to lookup. - * @return {i18n.phonenumbers.NumberFormat} The value. + * @return {!i18n.phonenumbers.NumberFormat} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getNumberFormatOrDefault = function(index) { - return /** @type {i18n.phonenumbers.NumberFormat} */ (this.get$ValueOrDefault(19, index)); + return /** @type {!i18n.phonenumbers.NumberFormat} */ (this.get$ValueOrDefault(19, index)); }; /** * Adds a value to the number_format field. - * @param {i18n.phonenumbers.NumberFormat} value The value to add. + * @param {!i18n.phonenumbers.NumberFormat} value The value to add. */ i18n.phonenumbers.PhoneMetadata.prototype.addNumberFormat = function(value) { - this.add$Value(19, /** @type {Object} */ (value)); + this.add$Value(19, value); }; /** * Returns the array of values in the number_format field. - * @return {Array.} The values in the field. + * @return {!Array.} The values in the field. */ i18n.phonenumbers.PhoneMetadata.prototype.numberFormatArray = function() { - return /** @type {Array.} */ (this.array$Values(19)); + return /** @type {!Array.} */ (this.array$Values(19)); }; /** - * Returns whether the number_format field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the number_format field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasNumberFormat = function() { return this.has$Value(19); @@ -1500,8 +1576,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasNumberFormat = function() { /** - * Gets the number of values in the number_format field. - * @return {number} + * @return {number} The number of values in the number_format field. */ i18n.phonenumbers.PhoneMetadata.prototype.numberFormatCount = function() { return this.count$Values(19); @@ -1519,44 +1594,43 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearNumberFormat = function() { /** * Gets the value of the intl_number_format field at the index given. * @param {number} index The index to lookup. - * @return {?i18n.phonenumbers.NumberFormat} The value. + * @return {i18n.phonenumbers.NumberFormat} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getIntlNumberFormat = function(index) { - return /** @type {?i18n.phonenumbers.NumberFormat} */ (this.get$Value(20, index)); + return /** @type {i18n.phonenumbers.NumberFormat} */ (this.get$Value(20, index)); }; /** * Gets the value of the intl_number_format field at the index given or the default value if not set. * @param {number} index The index to lookup. - * @return {i18n.phonenumbers.NumberFormat} The value. + * @return {!i18n.phonenumbers.NumberFormat} The value. */ i18n.phonenumbers.PhoneMetadata.prototype.getIntlNumberFormatOrDefault = function(index) { - return /** @type {i18n.phonenumbers.NumberFormat} */ (this.get$ValueOrDefault(20, index)); + return /** @type {!i18n.phonenumbers.NumberFormat} */ (this.get$ValueOrDefault(20, index)); }; /** * Adds a value to the intl_number_format field. - * @param {i18n.phonenumbers.NumberFormat} value The value to add. + * @param {!i18n.phonenumbers.NumberFormat} value The value to add. */ i18n.phonenumbers.PhoneMetadata.prototype.addIntlNumberFormat = function(value) { - this.add$Value(20, /** @type {Object} */ (value)); + this.add$Value(20, value); }; /** * Returns the array of values in the intl_number_format field. - * @return {Array.} The values in the field. + * @return {!Array.} The values in the field. */ i18n.phonenumbers.PhoneMetadata.prototype.intlNumberFormatArray = function() { - return /** @type {Array.} */ (this.array$Values(20)); + return /** @type {!Array.} */ (this.array$Values(20)); }; /** - * Returns whether the intl_number_format field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the intl_number_format field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasIntlNumberFormat = function() { return this.has$Value(20); @@ -1564,8 +1638,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasIntlNumberFormat = function() { /** - * Gets the number of values in the intl_number_format field. - * @return {number} + * @return {number} The number of values in the intl_number_format field. */ i18n.phonenumbers.PhoneMetadata.prototype.intlNumberFormatCount = function() { return this.count$Values(20); @@ -1603,13 +1676,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getMainCountryForCodeOrDefault = funct * @param {boolean} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setMainCountryForCode = function(value) { - this.set$Value(22, /** @type {Object} */ (value)); + this.set$Value(22, value); }; /** - * Returns whether the main_country_for_code field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the main_country_for_code field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasMainCountryForCode = function() { return this.has$Value(22); @@ -1617,8 +1689,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasMainCountryForCode = function() { /** - * Gets the number of values in the main_country_for_code field. - * @return {number} + * @return {number} The number of values in the main_country_for_code field. */ i18n.phonenumbers.PhoneMetadata.prototype.mainCountryForCodeCount = function() { return this.count$Values(22); @@ -1656,13 +1727,12 @@ i18n.phonenumbers.PhoneMetadata.prototype.getLeadingDigitsOrDefault = function() * @param {string} value The value. */ i18n.phonenumbers.PhoneMetadata.prototype.setLeadingDigits = function(value) { - this.set$Value(23, /** @type {Object} */ (value)); + this.set$Value(23, value); }; /** - * Returns whether the leading_digits field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the leading_digits field has a value. */ i18n.phonenumbers.PhoneMetadata.prototype.hasLeadingDigits = function() { return this.has$Value(23); @@ -1670,8 +1740,7 @@ i18n.phonenumbers.PhoneMetadata.prototype.hasLeadingDigits = function() { /** - * Gets the number of values in the leading_digits field. - * @return {number} + * @return {number} The number of values in the leading_digits field. */ i18n.phonenumbers.PhoneMetadata.prototype.leadingDigitsCount = function() { return this.count$Values(23); @@ -1687,7 +1756,6 @@ i18n.phonenumbers.PhoneMetadata.prototype.clearLeadingDigits = function() { - /** * Message PhoneMetadataCollection. * @constructor @@ -1698,47 +1766,55 @@ i18n.phonenumbers.PhoneMetadataCollection = function() { }; goog.inherits(i18n.phonenumbers.PhoneMetadataCollection, goog.proto2.Message); + +/** + * Overrides {@link goog.proto2.Message#clone} to specify its exact return type. + * @return {!i18n.phonenumbers.PhoneMetadataCollection} The cloned message. + * @override + */ +i18n.phonenumbers.PhoneMetadataCollection.prototype.clone; + + /** * Gets the value of the metadata field at the index given. * @param {number} index The index to lookup. - * @return {?i18n.phonenumbers.PhoneMetadata} The value. + * @return {i18n.phonenumbers.PhoneMetadata} The value. */ i18n.phonenumbers.PhoneMetadataCollection.prototype.getMetadata = function(index) { - return /** @type {?i18n.phonenumbers.PhoneMetadata} */ (this.get$Value(1, index)); + return /** @type {i18n.phonenumbers.PhoneMetadata} */ (this.get$Value(1, index)); }; /** * Gets the value of the metadata field at the index given or the default value if not set. * @param {number} index The index to lookup. - * @return {i18n.phonenumbers.PhoneMetadata} The value. + * @return {!i18n.phonenumbers.PhoneMetadata} The value. */ i18n.phonenumbers.PhoneMetadataCollection.prototype.getMetadataOrDefault = function(index) { - return /** @type {i18n.phonenumbers.PhoneMetadata} */ (this.get$ValueOrDefault(1, index)); + return /** @type {!i18n.phonenumbers.PhoneMetadata} */ (this.get$ValueOrDefault(1, index)); }; /** * Adds a value to the metadata field. - * @param {i18n.phonenumbers.PhoneMetadata} value The value to add. + * @param {!i18n.phonenumbers.PhoneMetadata} value The value to add. */ i18n.phonenumbers.PhoneMetadataCollection.prototype.addMetadata = function(value) { - this.add$Value(1, /** @type {Object} */ (value)); + this.add$Value(1, value); }; /** * Returns the array of values in the metadata field. - * @return {Array.} The values in the field. + * @return {!Array.} The values in the field. */ i18n.phonenumbers.PhoneMetadataCollection.prototype.metadataArray = function() { - return /** @type {Array.} */ (this.array$Values(1)); + return /** @type {!Array.} */ (this.array$Values(1)); }; /** - * Returns whether the metadata field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the metadata field has a value. */ i18n.phonenumbers.PhoneMetadataCollection.prototype.hasMetadata = function() { return this.has$Value(1); @@ -1746,8 +1822,7 @@ i18n.phonenumbers.PhoneMetadataCollection.prototype.hasMetadata = function() { /** - * Gets the number of values in the metadata field. - * @return {number} + * @return {number} The number of values in the metadata field. */ i18n.phonenumbers.PhoneMetadataCollection.prototype.metadataCount = function() { return this.count$Values(1); @@ -1762,204 +1837,220 @@ i18n.phonenumbers.PhoneMetadataCollection.prototype.clearMetadata = function() { }; - - goog.proto2.Message.set$Metadata(i18n.phonenumbers.NumberFormat, { - 0 : { + 0: { name: 'NumberFormat', fullName: 'i18n.phonenumbers.NumberFormat' }, - '1' : { + 1: { name: 'pattern', required: true, fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '2' : { + 2: { name: 'format', required: true, fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '3' : { + 3: { name: 'leading_digits_pattern', repeated: true, fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '4' : { + 4: { name: 'national_prefix_formatting_rule', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '5' : { + 5: { name: 'domestic_carrier_code_formatting_rule', fieldType: goog.proto2.Message.FieldType.STRING, type: String - }}); + } +}); + goog.proto2.Message.set$Metadata(i18n.phonenumbers.PhoneNumberDesc, { - 0 : { + 0: { name: 'PhoneNumberDesc', fullName: 'i18n.phonenumbers.PhoneNumberDesc' }, - '2' : { + 2: { name: 'national_number_pattern', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '3' : { + 3: { name: 'possible_number_pattern', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '6' : { + 6: { name: 'example_number', fieldType: goog.proto2.Message.FieldType.STRING, type: String - }}); + } +}); + goog.proto2.Message.set$Metadata(i18n.phonenumbers.PhoneMetadata, { - 0 : { + 0: { name: 'PhoneMetadata', fullName: 'i18n.phonenumbers.PhoneMetadata' }, - '1' : { + 1: { name: 'general_desc', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '2' : { + 2: { name: 'fixed_line', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '3' : { + 3: { name: 'mobile', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '4' : { + 4: { name: 'toll_free', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '5' : { + 5: { name: 'premium_rate', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '6' : { + 6: { name: 'shared_cost', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '7' : { + 7: { name: 'personal_number', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '8' : { + 8: { name: 'voip', required: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneNumberDesc }, - '9' : { + 21: { + name: 'pager', + required: true, + fieldType: goog.proto2.Message.FieldType.MESSAGE, + type: i18n.phonenumbers.PhoneNumberDesc + }, + 25: { + name: 'uan', + required: true, + fieldType: goog.proto2.Message.FieldType.MESSAGE, + type: i18n.phonenumbers.PhoneNumberDesc + }, + 24: { + name: 'no_international_dialling', + required: true, + fieldType: goog.proto2.Message.FieldType.MESSAGE, + type: i18n.phonenumbers.PhoneNumberDesc + }, + 9: { name: 'id', required: true, fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '10' : { + 10: { name: 'country_code', required: true, fieldType: goog.proto2.Message.FieldType.INT32, type: Number }, - '11' : { + 11: { name: 'international_prefix', required: true, fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '17' : { + 17: { name: 'preferred_international_prefix', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '12' : { + 12: { name: 'national_prefix', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '13' : { + 13: { name: 'preferred_extn_prefix', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '15' : { + 15: { name: 'national_prefix_for_parsing', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '16' : { + 16: { name: 'national_prefix_transform_rule', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '18' : { + 18: { name: 'same_mobile_and_fixed_line_pattern', fieldType: goog.proto2.Message.FieldType.BOOL, defaultValue: false, type: Boolean }, - '19' : { + 19: { name: 'number_format', repeated: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.NumberFormat }, - '20' : { + 20: { name: 'intl_number_format', repeated: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.NumberFormat }, - '21' : { - name: 'pager', - required: true, - fieldType: goog.proto2.Message.FieldType.MESSAGE, - type: i18n.phonenumbers.PhoneNumberDesc - }, - '22' : { + 22: { name: 'main_country_for_code', fieldType: goog.proto2.Message.FieldType.BOOL, defaultValue: false, type: Boolean }, - '23' : { + 23: { name: 'leading_digits', fieldType: goog.proto2.Message.FieldType.STRING, type: String - }}); + } +}); + goog.proto2.Message.set$Metadata(i18n.phonenumbers.PhoneMetadataCollection, { - 0 : { + 0: { name: 'PhoneMetadataCollection', fullName: 'i18n.phonenumbers.PhoneMetadataCollection' }, - '1' : { + 1: { name: 'metadata', repeated: true, fieldType: goog.proto2.Message.FieldType.MESSAGE, type: i18n.phonenumbers.PhoneMetadata - }}); - + } +}); diff --git a/javascript/i18n/phonenumbers/phonenumber.pb.js b/javascript/i18n/phonenumbers/phonenumber.pb.js index 683a2cf..b529a62 100644 --- a/javascript/i18n/phonenumbers/phonenumber.pb.js +++ b/javascript/i18n/phonenumbers/phonenumber.pb.js @@ -1,7 +1,7 @@ /* * @license - * Protocol Buffer 2 Copyright 2008 Google Inc - * All other code copyright its respective owners(s). + * Protocol Buffer 2 Copyright 2008 Google Inc. + * All other code copyright its respective owners. * Copyright (C) 2010 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -27,6 +27,8 @@ goog.provide('i18n.phonenumbers.PhoneNumber.CountryCodeSource'); goog.require('goog.proto2.Message'); + + /** * Message PhoneNumber. * @constructor @@ -37,6 +39,15 @@ i18n.phonenumbers.PhoneNumber = function() { }; goog.inherits(i18n.phonenumbers.PhoneNumber, goog.proto2.Message); + +/** + * Overrides {@link goog.proto2.Message#clone} to specify its exact return type. + * @return {!i18n.phonenumbers.PhoneNumber} The cloned message. + * @override + */ +i18n.phonenumbers.PhoneNumber.prototype.clone; + + /** * Gets the value of the country_code field. * @return {?number} The value. @@ -60,13 +71,12 @@ i18n.phonenumbers.PhoneNumber.prototype.getCountryCodeOrDefault = function() { * @param {number} value The value. */ i18n.phonenumbers.PhoneNumber.prototype.setCountryCode = function(value) { - this.set$Value(1, /** @type {Object} */ (value)); + this.set$Value(1, value); }; /** - * Returns whether the country_code field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the country_code field has a value. */ i18n.phonenumbers.PhoneNumber.prototype.hasCountryCode = function() { return this.has$Value(1); @@ -74,8 +84,7 @@ i18n.phonenumbers.PhoneNumber.prototype.hasCountryCode = function() { /** - * Gets the number of values in the country_code field. - * @return {number} + * @return {number} The number of values in the country_code field. */ i18n.phonenumbers.PhoneNumber.prototype.countryCodeCount = function() { return this.count$Values(1); @@ -113,13 +122,12 @@ i18n.phonenumbers.PhoneNumber.prototype.getNationalNumberOrDefault = function() * @param {number} value The value. */ i18n.phonenumbers.PhoneNumber.prototype.setNationalNumber = function(value) { - this.set$Value(2, /** @type {Object} */ (value)); + this.set$Value(2, value); }; /** - * Returns whether the national_number field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the national_number field has a value. */ i18n.phonenumbers.PhoneNumber.prototype.hasNationalNumber = function() { return this.has$Value(2); @@ -127,8 +135,7 @@ i18n.phonenumbers.PhoneNumber.prototype.hasNationalNumber = function() { /** - * Gets the number of values in the national_number field. - * @return {number} + * @return {number} The number of values in the national_number field. */ i18n.phonenumbers.PhoneNumber.prototype.nationalNumberCount = function() { return this.count$Values(2); @@ -166,13 +173,12 @@ i18n.phonenumbers.PhoneNumber.prototype.getExtensionOrDefault = function() { * @param {string} value The value. */ i18n.phonenumbers.PhoneNumber.prototype.setExtension = function(value) { - this.set$Value(3, /** @type {Object} */ (value)); + this.set$Value(3, value); }; /** - * Returns whether the extension field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the extension field has a value. */ i18n.phonenumbers.PhoneNumber.prototype.hasExtension = function() { return this.has$Value(3); @@ -180,8 +186,7 @@ i18n.phonenumbers.PhoneNumber.prototype.hasExtension = function() { /** - * Gets the number of values in the extension field. - * @return {number} + * @return {number} The number of values in the extension field. */ i18n.phonenumbers.PhoneNumber.prototype.extensionCount = function() { return this.count$Values(3); @@ -219,13 +224,12 @@ i18n.phonenumbers.PhoneNumber.prototype.getItalianLeadingZeroOrDefault = functio * @param {boolean} value The value. */ i18n.phonenumbers.PhoneNumber.prototype.setItalianLeadingZero = function(value) { - this.set$Value(4, /** @type {Object} */ (value)); + this.set$Value(4, value); }; /** - * Returns whether the italian_leading_zero field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the italian_leading_zero field has a value. */ i18n.phonenumbers.PhoneNumber.prototype.hasItalianLeadingZero = function() { return this.has$Value(4); @@ -233,8 +237,7 @@ i18n.phonenumbers.PhoneNumber.prototype.hasItalianLeadingZero = function() { /** - * Gets the number of values in the italian_leading_zero field. - * @return {number} + * @return {number} The number of values in the italian_leading_zero field. */ i18n.phonenumbers.PhoneNumber.prototype.italianLeadingZeroCount = function() { return this.count$Values(4); @@ -272,13 +275,12 @@ i18n.phonenumbers.PhoneNumber.prototype.getRawInputOrDefault = function() { * @param {string} value The value. */ i18n.phonenumbers.PhoneNumber.prototype.setRawInput = function(value) { - this.set$Value(5, /** @type {Object} */ (value)); + this.set$Value(5, value); }; /** - * Returns whether the raw_input field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the raw_input field has a value. */ i18n.phonenumbers.PhoneNumber.prototype.hasRawInput = function() { return this.has$Value(5); @@ -286,8 +288,7 @@ i18n.phonenumbers.PhoneNumber.prototype.hasRawInput = function() { /** - * Gets the number of values in the raw_input field. - * @return {number} + * @return {number} The number of values in the raw_input field. */ i18n.phonenumbers.PhoneNumber.prototype.rawInputCount = function() { return this.count$Values(5); @@ -325,13 +326,12 @@ i18n.phonenumbers.PhoneNumber.prototype.getCountryCodeSourceOrDefault = function * @param {i18n.phonenumbers.PhoneNumber.CountryCodeSource} value The value. */ i18n.phonenumbers.PhoneNumber.prototype.setCountryCodeSource = function(value) { - this.set$Value(6, /** @type {Object} */ (value)); + this.set$Value(6, value); }; /** - * Returns whether the country_code_source field has a value. - * @return {boolean} true if the field has a value. + * @return {boolean} Whether the country_code_source field has a value. */ i18n.phonenumbers.PhoneNumber.prototype.hasCountryCodeSource = function() { return this.has$Value(6); @@ -339,8 +339,7 @@ i18n.phonenumbers.PhoneNumber.prototype.hasCountryCodeSource = function() { /** - * Gets the number of values in the country_code_source field. - * @return {number} + * @return {number} The number of values in the country_code_source field. */ i18n.phonenumbers.PhoneNumber.prototype.countryCodeSourceCount = function() { return this.count$Values(6); @@ -360,50 +359,49 @@ i18n.phonenumbers.PhoneNumber.prototype.clearCountryCodeSource = function() { * @enum {number} */ i18n.phonenumbers.PhoneNumber.CountryCodeSource = { - FROM_NUMBER_WITH_PLUS_SIGN : 1, - FROM_NUMBER_WITH_IDD : 5, - FROM_NUMBER_WITHOUT_PLUS_SIGN : 10, - FROM_DEFAULT_COUNTRY : 20 + FROM_NUMBER_WITH_PLUS_SIGN: 1, + FROM_NUMBER_WITH_IDD: 5, + FROM_NUMBER_WITHOUT_PLUS_SIGN: 10, + FROM_DEFAULT_COUNTRY: 20 }; - goog.proto2.Message.set$Metadata(i18n.phonenumbers.PhoneNumber, { - 0 : { + 0: { name: 'PhoneNumber', fullName: 'i18n.phonenumbers.PhoneNumber' }, - '1' : { + 1: { name: 'country_code', required: true, fieldType: goog.proto2.Message.FieldType.INT32, type: Number }, - '2' : { + 2: { name: 'national_number', required: true, fieldType: goog.proto2.Message.FieldType.UINT64, type: Number }, - '3' : { + 3: { name: 'extension', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '4' : { + 4: { name: 'italian_leading_zero', fieldType: goog.proto2.Message.FieldType.BOOL, type: Boolean }, - '5' : { + 5: { name: 'raw_input', fieldType: goog.proto2.Message.FieldType.STRING, type: String }, - '6' : { + 6: { name: 'country_code_source', fieldType: goog.proto2.Message.FieldType.ENUM, defaultValue: i18n.phonenumbers.PhoneNumber.CountryCodeSource.FROM_NUMBER_WITH_PLUS_SIGN, type: i18n.phonenumbers.PhoneNumber.CountryCodeSource - }}); - + } +}); diff --git a/javascript/i18n/phonenumbers/phonenumberutil.js b/javascript/i18n/phonenumbers/phonenumberutil.js index a81c9a2..7fc3557 100644 --- a/javascript/i18n/phonenumbers/phonenumberutil.js +++ b/javascript/i18n/phonenumbers/phonenumberutil.js @@ -107,6 +107,26 @@ i18n.phonenumbers.PhoneNumberUtil.MAX_LENGTH_FOR_NSN_ = 15; /** + * The maximum length of the country code. + * + * @const + * @type {number} + * @private + */ +i18n.phonenumbers.PhoneNumberUtil.MAX_LENGTH_COUNTRY_CODE_ = 3; + + +/** + * Region-code for the unknown region. + * + * @const + * @type {string} + * @private + */ +i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_ = 'ZZ'; + + +/** * The PLUS_SIGN signifies the international prefix. * * @const @@ -152,7 +172,17 @@ i18n.phonenumbers.PhoneNumberUtil.DIGIT_MAPPINGS = { '\u0666': '6', // Arabic-indic digit 6 '\u0667': '7', // Arabic-indic digit 7 '\u0668': '8', // Arabic-indic digit 8 - '\u0669': '9' // Arabic-indic digit 9 + '\u0669': '9', // Arabic-indic digit 9 + '\u06F0': '0', // Eastern-Arabic digit 0 + '\u06F1': '1', // Eastern-Arabic digit 1 + '\u06F2': '2', // Eastern-Arabic digit 2 + '\u06F3': '3', // Eastern-Arabic digit 3 + '\u06F4': '4', // Eastern-Arabic digit 4 + '\u06F5': '5', // Eastern-Arabic digit 5 + '\u06F6': '6', // Eastern-Arabic digit 6 + '\u06F7': '7', // Eastern-Arabic digit 7 + '\u06F8': '8', // Eastern-Arabic digit 8 + '\u06F9': '9' // Eastern-Arabic digit 9 }; @@ -229,6 +259,16 @@ i18n.phonenumbers.PhoneNumberUtil.ALL_NORMALIZATION_MAPPINGS_ = { '\u0667': '7', // Arabic-indic digit 7 '\u0668': '8', // Arabic-indic digit 8 '\u0669': '9', // Arabic-indic digit 9 + '\u06F0': '0', // Eastern-Arabic digit 0 + '\u06F1': '1', // Eastern-Arabic digit 1 + '\u06F2': '2', // Eastern-Arabic digit 2 + '\u06F3': '3', // Eastern-Arabic digit 3 + '\u06F4': '4', // Eastern-Arabic digit 4 + '\u06F5': '5', // Eastern-Arabic digit 5 + '\u06F6': '6', // Eastern-Arabic digit 6 + '\u06F7': '7', // Eastern-Arabic digit 7 + '\u06F8': '8', // Eastern-Arabic digit 8 + '\u06F9': '9', // Eastern-Arabic digit 9 'A': '2', 'B': '2', 'C': '2', @@ -274,6 +314,7 @@ i18n.phonenumbers.PhoneNumberUtil.LEADING_ZERO_COUNTRIES_ = { 241: 1, // Gabon 242: 1, // Congo (Rep. of the) 268: 1, // Swaziland + 378: 1, // San Marino 379: 1, // Vatican City 501: 1 // Belize }; @@ -313,14 +354,15 @@ i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION_ = /** - * Digits accepted in phone numbers (ascii, fullwidth, and arabic-indic digits). + * Digits accepted in phone numbers (ascii, fullwidth, arabic-indic, and eastern + * arabic digits). * * @const * @type {string} * @private */ i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_ = - '0-9\uFF10-\uFF19\u0660-\u0669'; + '0-9\uFF10-\uFF19\u0660-\u0669\u06F0-\u06F9'; /** @@ -429,6 +471,7 @@ i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_PHONE_PATTERN_ = * numbers. We also allow multiple '+' characters at the start. * Corresponds to the following: * plus_sign*([punctuation]*[digits]){3,}([punctuation]|[digits]|[alpha])* + * Note VALID_PUNCTUATION starts with a -, so must be the first in the range. * * @const * @type {string} @@ -438,8 +481,8 @@ i18n.phonenumbers.PhoneNumberUtil.VALID_PHONE_NUMBER_ = '[' + i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_ + ']*(?:[' + i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION_ + ']*[' + i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_ + ']){3,}[' + - i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_ + i18n.phonenumbers.PhoneNumberUtil.VALID_PUNCTUATION_ + + i18n.phonenumbers.PhoneNumberUtil.VALID_ALPHA_ + i18n.phonenumbers.PhoneNumberUtil.VALID_DIGITS_ + ']*'; @@ -591,9 +634,13 @@ i18n.phonenumbers.PhoneNumberType = { // here: http://en.wikipedia.org/wiki/Personal_Numbers PERSONAL_NUMBER: 7, PAGER: 8, + // Used for "Universal Access Numbers" or "Company Numbers". They may be + // further routed to specific offices, but allow one number to be used for a + // company. + UAN: 9, // A phone number is of type UNKNOWN when it does not fit any of the known // patterns for a specific country. - UNKNOWN: 9 + UNKNOWN: 10 }; @@ -604,10 +651,11 @@ i18n.phonenumbers.PhoneNumberType = { * @enum {number} */ i18n.phonenumbers.PhoneNumberUtil.MatchType = { - NO_MATCH: 0, - SHORT_NSN_MATCH: 1, - NSN_MATCH: 2, - EXACT_MATCH: 3 + NOT_A_NUMBER: 0, + NO_MATCH: 1, + SHORT_NSN_MATCH: 2, + NSN_MATCH: 3, + EXACT_MATCH: 4 }; @@ -810,8 +858,8 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getLengthOfGeographicalAreaCode = if (number == null) { return 0; } - /** @type {string} */ - var regionCode = /** @type {string} */ (this.getRegionCodeForNumber(number)); + /** @type {?string} */ + var regionCode = this.getRegionCodeForNumber(number); if (!this.isValidRegionCode_(regionCode)) { return 0; } @@ -1567,6 +1615,8 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberDescByType_ = return metadata.getPersonalNumber(); case i18n.phonenumbers.PhoneNumberType.PAGER: return metadata.getPager(); + case i18n.phonenumbers.PhoneNumberType.UAN: + return metadata.getUan(); default: return metadata.getGeneralDesc(); } @@ -1583,8 +1633,8 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberDescByType_ = i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberType = function(number) { - /** @type {string} */ - var regionCode = /** @type {string} */ (this.getRegionCodeForNumber(number)); + /** @type {?string} */ + var regionCode = this.getRegionCodeForNumber(number); if (!this.isValidRegionCode_(regionCode)) { return i18n.phonenumbers.PhoneNumberType.UNKNOWN; } @@ -1628,10 +1678,12 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getNumberTypeHelper_ = metadata.getPersonalNumber())) { return i18n.phonenumbers.PhoneNumberType.PERSONAL_NUMBER; } - if (this.isNumberMatchingDesc_(nationalNumber, - metadata.getPager())) { + if (this.isNumberMatchingDesc_(nationalNumber, metadata.getPager())) { return i18n.phonenumbers.PhoneNumberType.PAGER; } + if (this.isNumberMatchingDesc_(nationalNumber, metadata.getUan())) { + return i18n.phonenumbers.PhoneNumberType.UAN; + } /** @type {boolean} */ var isFixedLine = this.isNumberMatchingDesc_(nationalNumber, metadata @@ -1713,10 +1765,10 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.isNumberMatchingDesc_ = * pattern. */ i18n.phonenumbers.PhoneNumberUtil.prototype.isValidNumber = function(number) { - /** @type {string} */ - var regionCode = /** @type {string} */ (this.getRegionCodeForNumber(number)); + /** @type {?string} */ + var regionCode = this.getRegionCodeForNumber(number); return this.isValidRegionCode_(regionCode) && - this.isValidNumberForRegion(number, regionCode); + this.isValidNumberForRegion(number, /** @type {string} */ (regionCode)); }; @@ -1846,7 +1898,8 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getRegionCodeForCountryCode = /** @type {Array.} */ var regionCodes = i18n.phonenumbers.metadata.countryCodeToRegionCodeMap[countryCode]; - return regionCodes == null ? 'ZZ' : regionCodes[0]; + return regionCodes == null ? + i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_ : regionCodes[0]; }; @@ -2129,7 +2182,9 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.extractCountryCode = var potentialCountryCode; /** @type {number} */ var numberLength = fullNumberStr.length; - for (var i = 1; i <= 3 && i <= numberLength; ++i) { + for (var i = 1; + i <= i18n.phonenumbers.PhoneNumberUtil.MAX_LENGTH_COUNTRY_CODE_ && + i <= numberLength; ++i) { potentialCountryCode = parseInt(fullNumberStr.substring(0, i), 10); if (potentialCountryCode in i18n.phonenumbers.metadata.countryCodeToRegionCodeMap) { @@ -2474,6 +2529,7 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.maybeStripExtension = */ i18n.phonenumbers.PhoneNumberUtil.prototype.checkRegionForParsing_ = function( numberToParse, defaultCountry) { + // If the number is null or empty, we can't guess the country code. return this.isValidRegionCode_(defaultCountry) || (numberToParse != null && numberToParse.length > 0 && i18n.phonenumbers.PhoneNumberUtil.PLUS_CHARS_PATTERN_.test( @@ -2681,30 +2737,77 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.parseHelper_ = * @param {i18n.phonenumbers.PhoneNumber|string} secondNumberIn second number to * compare. If it is a string it can contain formatting, and can have * country code specified with + at the start. - * @return {i18n.phonenumbers.PhoneNumberUtil.MatchType} NO_MATCH, + * @return {i18n.phonenumbers.PhoneNumberUtil.MatchType} NOT_A_NUMBER, NO_MATCH, * SHORT_NSN_MATCH, NSN_MATCH or EXACT_MATCH depending on the level of * equality of the two numbers, described in the method definition. - * @throws {i18n.phonenumbers.Error} if either number is not considered to be - * a viable phone number. */ i18n.phonenumbers.PhoneNumberUtil.prototype.isNumberMatch = function(firstNumberIn, secondNumberIn) { + // If the input arguements are strings parse them to a proto buffer format. + // Else make copies of the phone numbers so that the numbers passed in are not + // edited. /** @type {i18n.phonenumbers.PhoneNumber} */ var firstNumber; /** @type {i18n.phonenumbers.PhoneNumber} */ var secondNumber; - // If the input arguements are strings parse them to a proto buffer format. - // Else make copies of the phone numbers so that the numbers passed in are not - // edited. if (typeof firstNumberIn == 'string') { - firstNumber = this.parseHelper_(firstNumberIn, null, false, false); + // First see if the first number has an implicit country code, by attempting + // to parse it. + try { + firstNumber = this.parse( + firstNumberIn, i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_); + } catch (e) { + if (e != i18n.phonenumbers.Error.INVALID_COUNTRY_CODE) { + return i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER; + } + // The first number has no country code. EXACT_MATCH is no longer + // possible. We parse it as if the region was the same as that for the + // second number, and if EXACT_MATCH is returned, we replace this with + // NSN_MATCH. + if (typeof secondNumberIn != 'string') { + /** @type {string} */ + var secondNumberRegion = this.getRegionCodeForCountryCode( + secondNumberIn.getCountryCodeOrDefault()); + if (secondNumberRegion != + i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_) { + try { + firstNumber = this.parse(firstNumberIn, secondNumberRegion); + } catch (e2) { + return i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER; + } + /** @type {i18n.phonenumbers.PhoneNumberUtil.MatchType} */ + var match = this.isNumberMatch(firstNumber, secondNumberIn); + if (match == + i18n.phonenumbers.PhoneNumberUtil.MatchType.EXACT_MATCH) { + return i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH; + } + return match; + } + } + // If the second number is a string or doesn't have a valid country code, + // we parse the first number without country code. + try { + firstNumber = this.parseHelper_(firstNumberIn, null, false, false); + } catch (e2) { + return i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER; + } + } } else { firstNumber = new i18n.phonenumbers.PhoneNumber(); firstNumber.mergeFrom(firstNumberIn); } if (typeof secondNumberIn == 'string') { - secondNumber = this.parseHelper_(secondNumberIn, null, false, false); + try { + secondNumber = this.parse( + secondNumberIn, i18n.phonenumbers.PhoneNumberUtil.UNKNOWN_REGION_); + return this.isNumberMatch(firstNumberIn, secondNumber); + } catch (e) { + if (e != i18n.phonenumbers.Error.INVALID_COUNTRY_CODE) { + return i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER; + } + return this.isNumberMatch(secondNumberIn, firstNumber); + } } else { secondNumber = new i18n.phonenumbers.PhoneNumber(); secondNumber.mergeFrom(secondNumberIn); @@ -2789,6 +2892,35 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.isNationalNumberSuffixOfTheOther_ = /** + * Returns true if the number can only be dialled from within the country. If + * unknown, or the number can be dialled from outside the country as well, + * returns false. Does not check the number is a valid number. + * TODO: Make this method public when we have enough metadata to make it + * worthwhile. Currently visible for testing purposes only. + * + * @param {i18n.phonenumbers.PhoneNumber} number the phone-number for which we + * want to know whether it is only diallable from within the country. + * @return {boolean} true if the number can only be dialled from within the + * country. + */ +i18n.phonenumbers.PhoneNumberUtil.prototype.canBeInternationallyDialled = + function(number) { + /** @type {?string} */ + var regionCode = this.getRegionCodeForNumber(number); + /** @type {string} */ + var nationalSignificantNumber = + i18n.phonenumbers.PhoneNumberUtil.getNationalSignificantNumber(number); + if (!this.isValidRegionCode_(regionCode)) { + return true; + } + /** @type {i18n.phonenumbers.PhoneMetadata} */ + var metadata = this.getMetadataForRegion(regionCode); + return !this.isNumberMatchingDesc_(nationalSignificantNumber, + metadata.getNoInternationalDialling()); +}; + + +/** * Check whether the entire input sequence can be matched against the regular * expression. * diff --git a/javascript/i18n/phonenumbers/phonenumberutil_test.js b/javascript/i18n/phonenumbers/phonenumberutil_test.js index 016469e..49f41a4 100644 --- a/javascript/i18n/phonenumbers/phonenumberutil_test.js +++ b/javascript/i18n/phonenumbers/phonenumberutil_test.js @@ -260,6 +260,12 @@ function testNormaliseOtherDigits() { assertEquals('Conversion did not correctly replace non-latin digits', expectedOutput, i18n.phonenumbers.PhoneNumberUtil.normalize(inputNumber)); + // Eastern-Arabic digits. + inputNumber = '\u06F52\u06F0'; + expectedOutput = '520'; + assertEquals('Conversion did not correctly replace non-latin digits', + expectedOutput, + i18n.phonenumbers.PhoneNumberUtil.normalize(inputNumber)); } function testNormaliseStripAlphaCharacters() { @@ -545,8 +551,6 @@ function testFormatOutOfCountryCallingNumber() { phoneUtil.formatOutOfCountryCallingNumber(arNumber, 'AU')); assertEquals('011 15 8765-4321 ext. 1234', phoneUtil.formatOutOfCountryCallingNumber(arNumber, 'AR')); - assertEquals('011 15 8765-4321 ext. 1234', - phoneUtil.formatOutOfCountryCallingNumber(arNumber, 'ar')); } function testFormatOutOfCountryWithPreferredIntlPrefix() { @@ -2186,6 +2190,16 @@ function testIsNumberMatchNonMatches() { assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NO_MATCH, phoneUtil.isNumberMatch('+64 3 331-6005 ext.1235', '3 331 6005#1234')); + + // Invalid numbers that can't be parsed. + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER, + phoneUtil.isNumberMatch('43', '3 331 6043')); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER, + phoneUtil.isNumberMatch('+43', '+64 3 331 6005')); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER, + phoneUtil.isNumberMatch('+43', '64 3 331 6005')); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NOT_A_NUMBER, + phoneUtil.isNumberMatch('Dog', '64 3 331 6005')); } function testIsNumberMatchNsnMatches() { @@ -2201,6 +2215,10 @@ function testIsNumberMatchNsnMatches() { nzNumber.setExtension(''); assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH, phoneUtil.isNumberMatch(nzNumber, '03 331 6005')); + // Here the second number possibly starts with the country code for + // New Zealand, although we are unsure. + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH, + phoneUtil.isNumberMatch(nzNumber, '(64-3) 331 6005')); /** @type {i18n.phonenumbers.PhoneNumber} */ var unchangedNzNumber = new i18n.phonenumbers.PhoneNumber(); unchangedNzNumber.setCountryCode(64); @@ -2208,6 +2226,34 @@ function testIsNumberMatchNsnMatches() { unchangedNzNumber.setExtension(''); // Check the phone number proto was not edited during the method call. assertTrue(unchangedNzNumber.exactlySameAs(nzNumber)); + + // Here, the 1 might be a national prefix, if we compare it to the US number, + // so the resultant match is an NSN match. + /** @type {i18n.phonenumbers.PhoneNumber} */ + var usNumber = new i18n.phonenumbers.PhoneNumber(); + usNumber.setCountryCode(1); + usNumber.setNationalNumber(2345678901); + usNumber.setExtension(''); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH, + phoneUtil.isNumberMatch(usNumber, '1-234-567-8901')); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH, + phoneUtil.isNumberMatch(usNumber, '2345678901')); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH, + phoneUtil.isNumberMatch('+1 234-567 8901', '1 234 567 8901')); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH, + phoneUtil.isNumberMatch('1 234-567 8901', '1 234 567 8901')); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.NSN_MATCH, + phoneUtil.isNumberMatch('1 234-567 8901', '+1 234 567 8901')); + // For this case, the match will be a short NSN match, because we cannot + // assume that the 1 might be a national prefix, so don't remove it when + // parsing. + /** @type {i18n.phonenumbers.PhoneNumber} */ + var randomNumber = new i18n.phonenumbers.PhoneNumber(); + randomNumber.setCountryCode(41); + randomNumber.setNationalNumber(2345678901); + randomNumber.setExtension(''); + assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.SHORT_NSN_MATCH, + phoneUtil.isNumberMatch(randomNumber, '1-234-567-8901')); } function testIsNumberMatchShortNsnMatches() { @@ -2249,3 +2295,32 @@ function testIsNumberMatchShortNsnMatches() { assertEquals(i18n.phonenumbers.PhoneNumberUtil.MatchType.SHORT_NSN_MATCH, phoneUtil.isNumberMatch(italianNumberOne, italianNumberTwo)); } + +function testCanBeInternationallyDialled() { + // We have no-international-dialling rules for the US in our test metadata. + /** @type {i18n.phonenumbers.PhoneNumber} */ + var usNumber = new i18n.phonenumbers.PhoneNumber(); + usNumber.setCountryCode(1); + usNumber.setNationalNumber(8001231234); + assertFalse(phoneUtil.canBeInternationallyDialled(usNumber)); + + /** @type {i18n.phonenumbers.PhoneNumber} */ + var usInternationalNumber = new i18n.phonenumbers.PhoneNumber(); + usInternationalNumber.setCountryCode(1); + usInternationalNumber.setNationalNumber(2311231234); + assertTrue(phoneUtil.canBeInternationallyDialled(usInternationalNumber)); + + /** @type {i18n.phonenumbers.PhoneNumber} */ + var usInvalidNumber = new i18n.phonenumbers.PhoneNumber(); + // Invalid number. + usInvalidNumber.setCountryCode(1); + usInvalidNumber.setNationalNumber(13112312); + assertTrue(phoneUtil.canBeInternationallyDialled(usInvalidNumber)); + + // We have no data for NZ - should return true. + /** @type {i18n.phonenumbers.PhoneNumber} */ + var nzNumber = new i18n.phonenumbers.PhoneNumber(); + nzNumber.setCountryCode(64); + nzNumber.setNationalNumber(33316005); + assertTrue(phoneUtil.canBeInternationallyDialled(nzNumber)); +} -- 2.7.4