diff --git a/javascript/README b/javascript/README index 351382074..e14b93865 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 192). +The JavaScript library is ported from the Java implementation (revision 206). When the Java project gets updated follow these steps to update the JavaScript project: @@ -64,3 +64,4 @@ project: TODO: ===== Port functionality to extract phone-numbers from text (findNumbers). +Port offline phone number geocoder. diff --git a/javascript/i18n/phonenumbers/metadata.js b/javascript/i18n/phonenumbers/metadata.js index 26569931c..739bb8a61 100644 --- a/javascript/i18n/phonenumbers/metadata.js +++ b/javascript/i18n/phonenumbers/metadata.js @@ -1143,19 +1143,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"CY":[,[,,"[27-9]\\d{7}","\\d{8}"] +,"CY":[,[,,"[257-9]\\d{7}","\\d{8}"] ,[,,"2[2-6]\\d{6}","\\d{8}",,,"22345678"] -,[,,"7777\\d{4}|9(?:[69]\\d|7[67])\\d{5}","\\d{8}",,,"96123456"] -,[,,"8000\\d{4}","\\d{8}",,,"80001234"] -,[,,"9009\\d{4}","\\d{8}",,,"90091234"] -,[,,"NA","NA"] +,[,,"9[5-79]\\d{6}","\\d{8}",,,"96123456"] +,[,,"800\\d{5}","\\d{8}",,,"80001234"] +,[,,"90[09]\\d{5}","\\d{8}",,,"90012345"] +,[,,"80[1-9]\\d{5}","\\d{8}",,,"80112345"] ,[,,"700\\d{5}","\\d{8}",,,"70012345"] ,[,,"NA","NA"] -,"CY",357,"00",,,,,,,,[[,"([27-9]\\d)(\\d{6})","$1 $2",,"",""] +,"CY",357,"00",,,,,,,,[[,"(\\d{2})(\\d{6})","$1 $2",,"",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"(?:50|77)\\d{6}","\\d{8}",,,"77123456"] ] ,"CX":[,[,,"[1458]\\d{5,9}","\\d{6,10}"] ,[,,"89164\\d{4}","\\d{8,9}",,,"891641234"] @@ -1171,12 +1171,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"CZ":[,[,,"[2-9]\\d{8}","\\d{9}"] ,[,,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}","\\d{9}",,,"212345678"] -,[,,"60[1-8]\\d{6}|7[2379]\\d{7}","\\d{9}",,,"601123456"] +,[,,"(?:60[1-8]|7(?:0[25]|[2379]\\d))\\d{6}","\\d{9}",,,"601123456"] ,[,,"800\\d{6}","\\d{9}",,,"800123456"] -,[,,"90[0689]\\d{6}","\\d{9}",,,"900123456"] +,[,,"9(?:0[05689]|76)\\d{6}","\\d{9}",,,"900123456"] ,[,,"8[134]\\d{7}","\\d{9}",,,"811234567"] ,[,,"70[01]\\d{6}","\\d{9}",,,"700123456"] -,[,,"NA","NA"] +,[,,"9[17]0\\d{6}","\\d{9}",,,"910123456"] ,"CZ",420,"00",,,,,,,,[[,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] @@ -1362,7 +1362,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"ES":[,[,,"[5-9]\\d{8}","\\d{9}"] -,[,,"[89][1-8]\\d{7}","\\d{9}",,,"812345678"] +,[,,"(?:8(?:[13]0|[28][0-8]|[47][1-9]|5[01346-9]|6[0457-9])|9(?:[1238][0-8]|[47][1-9]|[56]\\d))\\d{6}","\\d{9}",,,"810123456"] ,[,,"6\\d{8}","\\d{9}",,,"612345678"] ,[,,"[89]00\\d{6}","\\d{9}",,,"800123456"] ,[,,"80[367]\\d{6}","\\d{9}",,,"803123456"] @@ -1507,7 +1507,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?",,,"8431234567"] ,[,,"70\\d{8}","\\d{10}",,,"7012345678"] ,[,,"56\\d{8}","\\d{10}",,,"5612345678"] -,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7[06]"] +,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7(?:0|6[013-9])","2|5[56]|7(?:0|6(?:[013-9]|2[0-35-9]))"] ,"0$1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:1|\\d1)|3|9[018]"] ,"0$1",""] @@ -1515,7 +1515,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(1\\d{3})(\\d{5,6})","$1 $2",["1"] ,"0$1",""] -,[,"(7\\d{3})(\\d{6})","$1 $2",["7[1-5789]"] +,[,"(7\\d{3})(\\d{6})","$1 $2",["7(?:[1-5789]|62)","7(?:[1-5789]|624)"] ,"0$1",""] ,[,"(800)(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"] ,"0$1",""] @@ -1561,15 +1561,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"GF":[,[] -,[] -,[] +,"GF":[,[,,"[56]\\d{8}","\\d{9}"] +,[,,"594(?:10|2[012457-9]|3[0-57-9]|4[3-9]|5[7-9]|6[0-3]|9[014])\\d{4}","\\d{9}",,,"594101234"] +,[,,"694(?:[04][0-7]|1[0-5]|2[0-46-9]|38|9\\d)\\d{4}","\\d{9}",,,"694201234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"GF",594,"00",,,,,,,1,,,[,,"NA","NA"] +,"GF",594,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -1667,15 +1669,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,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"] -,[,,"80\\d[1-9]\\d{5}","\\d{6,9}",,,"800123456"] -,[,,"90\\d[1-9]\\d{5}","\\d{6,9}",,,"900123456"] +,"GQ":[,[,,"[23589]\\d{8}","\\d{9}"] +,[,,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}","\\d{9}",,,"333091234"] +,[,,"(?:222|551)\\d{6}","\\d{9}",,,"222123456"] +,[,,"80\\d[1-9]\\d{5}","\\d{9}",,,"800123456"] +,[,,"90\\d[1-9]\\d{5}","\\d{9}",,,"900123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"GQ",240,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"] +,"GQ",240,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"] ,"",""] ,[,"(\\d{3})(\\d{6})","$1 $2",["[89]"] ,"",""] @@ -2092,8 +2094,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"876(?:(?:5[0-26]|6\\d)\\d{5}|(?:7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468]))\\d{4})","\\d{7}(?:\\d{3})?",,,"8765123456"] -,[,,"876(?:(?:2[178]|[348]\\d|5[78])\\d|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}",,,"8762101234"] +,[,,"876(?:5(?:0[12]|1[0-468]|2[35]|63)|6(?:0[1-3579]|1[027]|2[3-5]|34|[45]0|63|7[05]|8[04]|9[4-9])7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468]))\\d{4}","\\d{7}(?:\\d{3})?",,,"8765123456"] +,[,,"876(?:(?:2[178]|[348]\\d|)\\d|5(?:27|66|[78]\\d)|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}",,,"8762101234"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] @@ -2244,16 +2246,23 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,"869",[,,"NA","NA"] ,[,,"NA","NA"] ] -,"KP":[,[] -,[] -,[] +,"KP":[,[,,"1\\d{9}|[28]\\d{7}","\\d{6,8}|\\d{10}"] +,[,,"2\\d{7}|85\\d{6}","\\d{6,8}",,,"21234567"] +,[,,"19[123]\\d{7}","\\d{10}",,,"1921234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"KP",850,"00","0",,,"0",,,1,,,[,,"NA","NA"] -,,,[,,"NA","NA"] +,"KP",850,"00|99","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"] +,"0$1",""] +,[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"] +,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"] +,"0$1",""] +] +,,[,,"NA","NA"] +,,,[,,"2(?:[0-24-9]\\d{2}|3(?:[0-79]\\d|8[02-9]))\\d{4}","\\d{8}",,,"23821234"] ,[,,"NA","NA"] ] ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"] @@ -2749,8 +2758,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"MQ":[,[,,"[56]\\d{8}","\\d{9}"] -,[,,"596(?:3[0789]|4[28]|[5-7]\\d|9[67])\\d{4}","\\d{9}",,,"596301234"] -,[,,"696(?:[2-49]\\d|7[0-4]|8[0-6])\\d{4}","\\d{9}",,,"696201234"] +,[,,"596(?:0[2-5]|[12]0|3[05-9]|4[024-8]|[5-7]\\d|89|9[4-8])\\d{4}","\\d{9}",,,"596301234"] +,[,,"696(?:[0-479]\\d|5[01]|8[0-689])\\d{4}","\\d{9}",,,"696201234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2945,15 +2954,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"NC":[,[] -,[] -,[] +,"NC":[,[,,"[2-47-9]\\d{5}","\\d{6}"] +,[,,"(?:2[03-9]|35|4[1-7]|88)\\d{4}","\\d{6}",,,"201234"] +,[,,"(?:7[4-9]|8[0-79]|9\\d)\\d{4}","\\d{6}",,,"751234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"NC",687,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"NC",687,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3155,15 +3166,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PA":[,[] -,[] -,[] -,[,,"NA","NA"] +,"PA":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"] +,[,,"(?:1(?:0[02-579]|19|23|3[03]|4[479]|5[57]|65|7[016-8]|8[58]|9[1-49])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:0[0-7]|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[078]|80|9[0-79])|4(?:3[013-59]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:09|2[0-267]|[34]0|5[6-9]|7[0-24-7]|8[89]|99)|8(?:[34]\\d|5[0-5]|8[02])|9(?:0[78]|1[0178]|2[0378]|3[379]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}",,,"2001234"] +,[,,"(?:161|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[04-8]\\d|1[0-5]|2[0-4]|3[7-9]|9[0-8])\\d{5}","\\d{7,8}",,,"60012345"] +,[,,"80[09]\\d{4}","\\d{7}",,,"8001234"] +,[,,"(?:779|8(?:2[235]|60|7[578]|86|95)|9(?:0[0-2]|81))\\d{4}","\\d{7}",,,"8601234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"PA",507,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"PA",507,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"] +,"",""] +,[,"(\\d{4})(\\d{4})","$1-$2",["6"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3186,16 +3202,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PF":[,[] -,[] -,[] +,"PF":[,[,,"[2-9]\\d{5}","\\d{6}"] +,[,,"(?:36\\d|4(?:[02-9]\\d|1[02-9])|[5689]\\d{2})\\d{3}","\\d{6}",,,"401234"] +,[,,"(?:[27]\\d{3}|3[0-49]\\d{2}|411[3-6])\\d{2}","\\d{6}",,,"212345"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"PF",689,"00",,,,,,,1,,,[,,"NA","NA"] -,,,[,,"NA","NA"] +,"PF",689,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] +] +,,[,,"NA","NA"] +,,,[,,"(?:36|44)\\d{4}","\\d{6}",,,"441234"] ,[,,"NA","NA"] ] ,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"] @@ -3345,29 +3363,42 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PW":[,[] -,[] -,[] +,"PW":[,[,,"[2-8]\\d{6}","\\d{7}"] +,[,,"2552255|(?:277|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76))\\d{4}","\\d{7}",,,"2771234"] +,[,,"(?:6[234689]0|77[45789])\\d{4}","\\d{7}",,,"6201234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"PW",680,"011",,,,,,,1,,,[,,"NA","NA"] +,"PW",680,"01[12]",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PY":[,[] -,[] -,[] -,[,,"NA","NA"] +,"PY":[,[,,"5[0-5]\\d{4,7}|[2-46-9]\\d{5,8}","\\d{5,9}"] +,[,,"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\\d{5,7}|(?:2(?:2[4568]|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51)|4(?:18|2[45]|3[12]|5[13]|64|71|9[1-47])|5(?:[1-4]\\d|5[0234])|6(?:3[1-3]|44|7[1-4678])|7(?:17|4[0-4]|6[1-578]|75|8[0-8])|858)\\d{5,6}","\\d{5,9}",,,"212345678"] +,[,,"9(?:61|7[12356]|8[1-5]|9[1235])\\d{6}","\\d{9}",,,"961456789"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"PY",595,"002","0",,,"0",,,1,,,[,,"NA","NA"] +,[,,"8700[0-4]\\d{4}","\\d{9}",,,"870012345"] +,"PY",595,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{5,7})","$1 $2",["(?:[26]1|3[289]|4[124678]|7[123]|8[1236])"] +,"($1)",""] +,[,"(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"] +,"0$1",""] +,[,"(\\d{3})(\\d{6})","$1 $2",["9[1-9]"] +,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8700"] +,"",""] +,[,"(\\d{3})(\\d{4,6})","$1 $2",["[2-8][1-9]"] +,"($1)",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"[2-9]0\\d{4,7}","\\d{5,9}",,,"201234567"] ] ,"QA":[,[,,"[3-8]\\d{6,7}","\\d{7,8}"] ,[,,"44\\d{6}","\\d{7,8}",,,"44123456"] @@ -3495,15 +3526,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"SB":[,[] -,[] -,[] -,[,,"NA","NA"] +,"SB":[,[,,"[1-8]\\d{4,6}","\\d{5,7}"] +,[,,"(?:1[4-79]|[23]\\d|4[01]|5[03]|6[0-37])\\d{3}","\\d{5}",,,"40123"] +,[,,"7(?:4\\d|5[025-7])\\d{4}|8[48]\\d{5}","\\d{7}",,,"7421234"] +,[,,"1[38]\\d{3}","\\d{5}",,,"18123"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"] +,[,,"5[12]\\d{3}","\\d{5}",,,"51123"] +,"SB",677,"0[01]",,,,,,,,,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3740,15 +3771,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"SR":[,[] -,[] -,[] +,"SR":[,[,,"[2-8]\\d{5,6}","\\d{6,7}"] +,[,,"(?:2[1-3]|3[0-7]|4\\d|5[2-58]|68\\d)\\d{4}","\\d{6,7}",,,"211234"] +,[,,"(?:7[1245]|8[1-9])\\d{5}","\\d{7}",,,"7412345"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"SR",597,"00",,,,,,,1,,,[,,"NA","NA"] +,[,,"56\\d{4}","\\d{6}",,,"561234"] +,"SR",597,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1-$2",["[2-4]|5[2-58]"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"] +,"",""] +,[,"(\\d{3})(\\d{4})","$1-$2",["[6-8]"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3953,7 +3991,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"TN":[,[,,"[247-9]\\d{7}","\\d{8}"] ,[,,"7\\d{7}","\\d{8}",,,"71234567"] -,[,,"(?:2[0-7]|40|9\\d)\\d{6}","\\d{8}",,,"20123456"] +,[,,"(?:[29]\\d|4[01])\\d{6}","\\d{8}",,,"20123456"] ,[,,"NA","NA"] ,[,,"8[028]\\d{6}","\\d{8}",,,"80123456"] ,[,,"NA","NA"] @@ -3965,18 +4003,25 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"TO":[,[] -,[] -,[] +,"TO":[,[,,"[02-8]\\d{4,6}","\\d{5,7}"] +,[,,"(?:2\\d|3[1-8]|4[1-4]|[56]0|7[0149]|8[05])\\d{3}","\\d{5}",,,"20123"] +,[,,"(?:7[578]|8[7-9])\\d{5}","\\d{7}",,,"7715123"] +,[,,"0800\\d{3}","\\d{7}",,,"0800222"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"TO",676,"00",,,,,,,1,,,[,,"NA","NA"] +,"TO",676,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1-$2",["[1-6]|7[0-4]|8[05]"] +,"",""] +,[,"(\\d{3})(\\d{4})","$1 $2",["7[5-9]|8[7-9]"] +,"",""] +,[,"(\\d{4})(\\d{3})","$1 $2",["0"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] -] +,1] ,"TR":[,[,,"[2-589]\\d{9}|444\\d{4}","\\d{7,10}"] ,[,,"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}","\\d{10}",,,"2123456789"] ,[,,"5(?:0[1-35-7]|22|3\\d|4[1-79]|5[1-5]|9[246])\\d{7}","\\d{10}",,,"5012345678"] @@ -4111,15 +4156,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"UY":[,[] -,[] -,[] -,[,,"NA","NA"] +,"UY":[,[,,"[2489]\\d{6,7}","\\d{7,8}"] +,[,,"2\\d{7}|4[2-7]\\d{6}","\\d{7,8}",,,"21231234"] +,[,,"9[13-9]\\d{6}","\\d{8}",,,"94231234"] +,[,,"80[05]\\d{4}","\\d{7}",,,"8001234"] +,[,,"90[0-8]\\d{4}","\\d{7}",,,"9001234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"UY",598,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"UY",598,"0(?:1[3-9]\\d|0)","0"," int. ",,"0",,"00",,[[,"(\\d{4})(\\d{4})","$1 $2",["[24]"] +,"",""] +,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9[1-9]"] +,"0$1",""] +,[,"(\\d{3})(\\d{4})","$1 $2",["[89]0"] +,"0$1",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -4190,8 +4242,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"VI":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"340(?:2(?:01|2[07]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?",,,"3406421234"] -,[,,"340(?:2(?:01|2[07]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?",,,"3406421234"] +,[,,"340(?:2(?:01|2[067]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?",,,"3406421234"] +,[,,"340(?:2(?:01|2[067]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?",,,"3406421234"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] @@ -4230,27 +4282,32 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"VU":[,[] -,[] -,[] +,"VU":[,[,,"[2-578]\\d{4,6}","\\d{5,7}"] +,[,,"(?:2[2-9]\\d|3(?:[67]\\d|8[0-8])|48[4-9]|88\\d)\\d{2}","\\d{5}",,,"22123"] +,[,,"(?:5(?:7[2-5]|[3-69]\\d)|7[013-7]\\d)\\d{4}","\\d{7}",,,"5912345"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"VU",678,"00",,,,,,,1,,,[,,"NA","NA"] +,"VU",678,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[57]"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"30\\d{3}","\\d{5}",,,"30123"] ] -,"WF":[,[] -,[] -,[] +,"WF":[,[,,"[5-7]\\d{5}","\\d{6}"] +,[,,"(?:50|68|72)\\d{4}","\\d{6}",,,"501234"] +,[,,"(?:50|68|72)\\d{4}","\\d{6}",,,"501234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"WF",681,"19",,,,,,,1,,,[,,"NA","NA"] +,"WF",681,"00",,,,,,,1,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] diff --git a/javascript/i18n/phonenumbers/metadatalite.js b/javascript/i18n/phonenumbers/metadatalite.js index 4c81c1a3c..33c62cb0b 100644 --- a/javascript/i18n/phonenumbers/metadatalite.js +++ b/javascript/i18n/phonenumbers/metadatalite.js @@ -1143,19 +1143,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"CY":[,[,,"[27-9]\\d{7}","\\d{8}"] +,"CY":[,[,,"[257-9]\\d{7}","\\d{8}"] ,[,,"2[2-6]\\d{6}","\\d{8}"] -,[,,"7777\\d{4}|9(?:[69]\\d|7[67])\\d{5}","\\d{8}"] -,[,,"8000\\d{4}","\\d{8}"] -,[,,"9009\\d{4}","\\d{8}"] -,[,,"NA","NA"] +,[,,"9[5-79]\\d{6}","\\d{8}"] +,[,,"800\\d{5}","\\d{8}"] +,[,,"90[09]\\d{5}","\\d{8}"] +,[,,"80[1-9]\\d{5}","\\d{8}"] ,[,,"700\\d{5}","\\d{8}"] ,[,,"NA","NA"] -,"CY",357,"00",,,,,,,,[[,"([27-9]\\d)(\\d{6})","$1 $2",,"",""] +,"CY",357,"00",,,,,,,,[[,"(\\d{2})(\\d{6})","$1 $2",,"",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"(?:50|77)\\d{6}","\\d{8}"] ] ,"CX":[,[,,"[1458]\\d{5,9}","\\d{6,10}"] ,[,,"89164\\d{4}","\\d{8,9}"] @@ -1171,12 +1171,12 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"CZ":[,[,,"[2-9]\\d{8}","\\d{9}"] ,[,,"2\\d{8}|(?:3[1257-9]|4[16-9]|5[13-9])\\d{7}","\\d{9}"] -,[,,"60[1-8]\\d{6}|7[2379]\\d{7}","\\d{9}"] +,[,,"(?:60[1-8]|7(?:0[25]|[2379]\\d))\\d{6}","\\d{9}"] ,[,,"800\\d{6}","\\d{9}"] -,[,,"90[0689]\\d{6}","\\d{9}"] +,[,,"9(?:0[05689]|76)\\d{6}","\\d{9}"] ,[,,"8[134]\\d{7}","\\d{9}"] ,[,,"70[01]\\d{6}","\\d{9}"] -,[,,"NA","NA"] +,[,,"9[17]0\\d{6}","\\d{9}"] ,"CZ",420,"00",,,,,,,,[[,"([2-9]\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",,"",""] ] ,,[,,"NA","NA"] @@ -1362,7 +1362,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"ES":[,[,,"[5-9]\\d{8}","\\d{9}"] -,[,,"[89][1-8]\\d{7}","\\d{9}"] +,[,,"(?:8(?:[13]0|[28][0-8]|[47][1-9]|5[01346-9]|6[0457-9])|9(?:[1238][0-8]|[47][1-9]|[56]\\d))\\d{6}","\\d{9}"] ,[,,"6\\d{8}","\\d{9}"] ,[,,"[89]00\\d{6}","\\d{9}"] ,[,,"80[367]\\d{6}","\\d{9}"] @@ -1507,7 +1507,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"8(?:4(?:5464\\d|[2-5]\\d{7})|70\\d{7})","\\d{7}(?:\\d{3})?"] ,[,,"70\\d{8}","\\d{10}"] ,[,,"56\\d{8}","\\d{10}"] -,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7[06]"] +,"GB",44,"00","0"," x",,"0",,,,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["2|5[56]|7(?:0|6[013-9])","2|5[56]|7(?:0|6(?:[013-9]|2[0-35-9]))"] ,"0$1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:1|\\d1)|3|9[018]"] ,"0$1",""] @@ -1515,7 +1515,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(1\\d{3})(\\d{5,6})","$1 $2",["1"] ,"0$1",""] -,[,"(7\\d{3})(\\d{6})","$1 $2",["7[1-5789]"] +,[,"(7\\d{3})(\\d{6})","$1 $2",["7(?:[1-5789]|62)","7(?:[1-5789]|624)"] ,"0$1",""] ,[,"(800)(\\d{4})","$1 $2",["800","8001","80011","800111","8001111"] ,"0$1",""] @@ -1561,15 +1561,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"GF":[,[] -,[] -,[] +,"GF":[,[,,"[56]\\d{8}","\\d{9}"] +,[,,"594(?:10|2[012457-9]|3[0-57-9]|4[3-9]|5[7-9]|6[0-3]|9[014])\\d{4}","\\d{9}"] +,[,,"694(?:[04][0-7]|1[0-5]|2[0-46-9]|38|9\\d)\\d{4}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"GF",594,"00",,,,,,,1,,,[,,"NA","NA"] +,"GF",594,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -1667,15 +1669,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,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}"] -,[,,"80\\d[1-9]\\d{5}","\\d{6,9}"] -,[,,"90\\d[1-9]\\d{5}","\\d{6,9}"] +,"GQ":[,[,,"[23589]\\d{8}","\\d{9}"] +,[,,"3(?:3(?:3\\d[7-9]|[0-24-9]\\d[46])|5\\d{2}[7-9])\\d{4}","\\d{9}"] +,[,,"(?:222|551)\\d{6}","\\d{9}"] +,[,,"80\\d[1-9]\\d{5}","\\d{9}"] +,[,,"90\\d[1-9]\\d{5}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"GQ",240,"00",,,,,,,,[[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[235]"] +,"GQ",240,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["[235]"] ,"",""] ,[,"(\\d{3})(\\d{6})","$1 $2",["[89]"] ,"",""] @@ -2092,8 +2094,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"876(?:(?:5[0-26]|6\\d)\\d{5}|(?:7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468]))\\d{4})","\\d{7}(?:\\d{3})?"] -,[,,"876(?:(?:2[178]|[348]\\d|5[78])\\d|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\d{4}","\\d{10}"] +,[,,"876(?:5(?:0[12]|1[0-468]|2[35]|63)|6(?:0[1-3579]|1[027]|2[3-5]|34|[45]0|63|7[05]|8[04]|9[4-9])7(?:0[2-689]|[1-6]\\d|8[056]|9[45])|9(?:0[1-8]|1[02378]|[2-8]\\d|9[2-468]))\\d{4}","\\d{7}(?:\\d{3})?"] +,[,,"876(?:(?:2[178]|[348]\\d|)\\d|5(?:27|66|[78]\\d)|7(?:0[07]|7\\d|8[1-47-9]|9[0-36-9])|9(?:[01]9|9[0579]))\\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"] @@ -2244,16 +2246,23 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,"869",[,,"NA","NA"] ,[,,"NA","NA"] ] -,"KP":[,[] -,[] -,[] +,"KP":[,[,,"1\\d{9}|[28]\\d{7}","\\d{6,8}|\\d{10}"] +,[,,"2\\d{7}|85\\d{6}","\\d{6,8}"] +,[,,"19[123]\\d{7}","\\d{10}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"KP",850,"00","0",,,"0",,,1,,,[,,"NA","NA"] -,,,[,,"NA","NA"] +,"KP",850,"00|99","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1"] +,"0$1",""] +,[,"(\\d)(\\d{3})(\\d{4})","$1 $2 $3",["2"] +,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["8"] +,"0$1",""] +] +,,[,,"NA","NA"] +,,,[,,"2(?:[0-24-9]\\d{2}|3(?:[0-79]\\d|8[02-9]))\\d{4}","\\d{8}"] ,[,,"NA","NA"] ] ,"KR":[,[,,"[1-79]\\d{3,9}|8\\d{8}","\\d{4,10}"] @@ -2749,8 +2758,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"MQ":[,[,,"[56]\\d{8}","\\d{9}"] -,[,,"596(?:3[0789]|4[28]|[5-7]\\d|9[67])\\d{4}","\\d{9}"] -,[,,"696(?:[2-49]\\d|7[0-4]|8[0-6])\\d{4}","\\d{9}"] +,[,,"596(?:0[2-5]|[12]0|3[05-9]|4[024-8]|[5-7]\\d|89|9[4-8])\\d{4}","\\d{9}"] +,[,,"696(?:[0-479]\\d|5[01]|8[0-689])\\d{4}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2945,15 +2954,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"NC":[,[] -,[] -,[] +,"NC":[,[,,"[2-47-9]\\d{5}","\\d{6}"] +,[,,"(?:2[03-9]|35|4[1-7]|88)\\d{4}","\\d{6}"] +,[,,"(?:7[4-9]|8[0-79]|9\\d)\\d{4}","\\d{6}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"NC",687,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"NC",687,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1.$2.$3",,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3155,15 +3166,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PA":[,[] -,[] -,[] -,[,,"NA","NA"] +,"PA":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"] +,[,,"(?:1(?:0[02-579]|19|23|3[03]|4[479]|5[57]|65|7[016-8]|8[58]|9[1-49])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:0[0-7]|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[078]|80|9[0-79])|4(?:3[013-59]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:09|2[0-267]|[34]0|5[6-9]|7[0-24-7]|8[89]|99)|8(?:[34]\\d|5[0-5]|8[02])|9(?:0[78]|1[0178]|2[0378]|3[379]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}"] +,[,,"(?:161|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[04-8]\\d|1[0-5]|2[0-4]|3[7-9]|9[0-8])\\d{5}","\\d{7,8}"] +,[,,"80[09]\\d{4}","\\d{7}"] +,[,,"(?:779|8(?:2[235]|60|7[578]|86|95)|9(?:0[0-2]|81))\\d{4}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"PA",507,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"PA",507,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{4})","$1-$2",["[1-57-9]"] +,"",""] +,[,"(\\d{4})(\\d{4})","$1-$2",["6"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3186,16 +3202,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PF":[,[] -,[] -,[] +,"PF":[,[,,"[2-9]\\d{5}","\\d{6}"] +,[,,"(?:36\\d|4(?:[02-9]\\d|1[02-9])|[5689]\\d{2})\\d{3}","\\d{6}"] +,[,,"(?:[27]\\d{3}|3[0-49]\\d{2}|411[3-6])\\d{2}","\\d{6}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"PF",689,"00",,,,,,,1,,,[,,"NA","NA"] -,,,[,,"NA","NA"] +,"PF",689,"00",,,,,,,,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] +] +,,[,,"NA","NA"] +,,,[,,"(?:36|44)\\d{4}","\\d{6}"] ,[,,"NA","NA"] ] ,"PG":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"] @@ -3345,29 +3363,42 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PW":[,[] -,[] -,[] +,"PW":[,[,,"[2-8]\\d{6}","\\d{7}"] +,[,,"2552255|(?:277|345|488|5(?:35|44|87)|6(?:22|54|79)|7(?:33|47)|8(?:24|55|76))\\d{4}","\\d{7}"] +,[,,"(?:6[234689]0|77[45789])\\d{4}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"PW",680,"011",,,,,,,1,,,[,,"NA","NA"] +,"PW",680,"01[12]",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"PY":[,[] -,[] -,[] -,[,,"NA","NA"] +,"PY":[,[,,"5[0-5]\\d{4,7}|[2-46-9]\\d{5,8}","\\d{5,9}"] +,[,,"(?:[26]1|3[289]|4[124678]|7[123]|8[1236])\\d{5,7}|(?:2(?:2[4568]|7[15]|9[1-5])|3(?:18|3[167]|4[2357]|51)|4(?:18|2[45]|3[12]|5[13]|64|71|9[1-47])|5(?:[1-4]\\d|5[0234])|6(?:3[1-3]|44|7[1-4678])|7(?:17|4[0-4]|6[1-578]|75|8[0-8])|858)\\d{5,6}","\\d{5,9}"] +,[,,"9(?:61|7[12356]|8[1-5]|9[1235])\\d{6}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"PY",595,"002","0",,,"0",,,1,,,[,,"NA","NA"] +,[,,"8700[0-4]\\d{4}","\\d{9}"] +,"PY",595,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{5,7})","$1 $2",["(?:[26]1|3[289]|4[124678]|7[123]|8[1236])"] +,"($1)",""] +,[,"(\\d{3})(\\d{3,6})","$1 $2",["[2-9]0"] +,"0$1",""] +,[,"(\\d{3})(\\d{6})","$1 $2",["9[1-9]"] +,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["8700"] +,"",""] +,[,"(\\d{3})(\\d{4,6})","$1 $2",["[2-8][1-9]"] +,"($1)",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"[2-9]0\\d{4,7}","\\d{5,9}"] ] ,"QA":[,[,,"[3-8]\\d{6,7}","\\d{7,8}"] ,[,,"44\\d{6}","\\d{7,8}"] @@ -3495,15 +3526,15 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"SB":[,[] -,[] -,[] -,[,,"NA","NA"] +,"SB":[,[,,"[1-8]\\d{4,6}","\\d{5,7}"] +,[,,"(?:1[4-79]|[23]\\d|4[01]|5[03]|6[0-37])\\d{3}","\\d{5}"] +,[,,"7(?:4\\d|5[025-7])\\d{4}|8[48]\\d{5}","\\d{7}"] +,[,,"1[38]\\d{3}","\\d{5}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"SB",677,"00",,,,,,,1,,,[,,"NA","NA"] +,[,,"5[12]\\d{3}","\\d{5}"] +,"SB",677,"0[01]",,,,,,,,,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3740,15 +3771,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"SR":[,[] -,[] -,[] +,"SR":[,[,,"[2-8]\\d{5,6}","\\d{6,7}"] +,[,,"(?:2[1-3]|3[0-7]|4\\d|5[2-58]|68\\d)\\d{4}","\\d{6,7}"] +,[,,"(?:7[1245]|8[1-9])\\d{5}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"SR",597,"00",,,,,,,1,,,[,,"NA","NA"] +,[,,"56\\d{4}","\\d{6}"] +,"SR",597,"00",,,,,,,,[[,"(\\d{3})(\\d{3})","$1-$2",["[2-4]|5[2-58]"] +,"",""] +,[,"(\\d{2})(\\d{2})(\\d{2})","$1-$2-$3",["56"] +,"",""] +,[,"(\\d{3})(\\d{4})","$1-$2",["[6-8]"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -3953,7 +3991,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"TN":[,[,,"[247-9]\\d{7}","\\d{8}"] ,[,,"7\\d{7}","\\d{8}"] -,[,,"(?:2[0-7]|40|9\\d)\\d{6}","\\d{8}"] +,[,,"(?:[29]\\d|4[01])\\d{6}","\\d{8}"] ,[,,"NA","NA"] ,[,,"8[028]\\d{6}","\\d{8}"] ,[,,"NA","NA"] @@ -3965,18 +4003,25 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"TO":[,[] -,[] -,[] +,"TO":[,[,,"[02-8]\\d{4,6}","\\d{5,7}"] +,[,,"(?:2\\d|3[1-8]|4[1-4]|[56]0|7[0149]|8[05])\\d{3}","\\d{5}"] +,[,,"(?:7[578]|8[7-9])\\d{5}","\\d{7}"] +,[,,"0800\\d{3}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"TO",676,"00",,,,,,,1,,,[,,"NA","NA"] +,"TO",676,"00",,,,,,,,[[,"(\\d{2})(\\d{3})","$1-$2",["[1-6]|7[0-4]|8[05]"] +,"",""] +,[,"(\\d{3})(\\d{4})","$1 $2",["7[5-9]|8[7-9]"] +,"",""] +,[,"(\\d{4})(\\d{3})","$1 $2",["0"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] -] +,1] ,"TR":[,[,,"[2-589]\\d{9}|444\\d{4}","\\d{7,10}"] ,[,,"(?:2(?:[13][26]|[28][2468]|[45][268]|[67][246])|3(?:[13][28]|[24-6][2468]|[78][02468]|92)|4(?:[16][246]|[23578][2468]|4[26]))\\d{7}","\\d{10}"] ,[,,"5(?:0[1-35-7]|22|3\\d|4[1-79]|5[1-5]|9[246])\\d{7}","\\d{10}"] @@ -4111,15 +4156,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"UY":[,[] -,[] -,[] -,[,,"NA","NA"] +,"UY":[,[,,"[2489]\\d{6,7}","\\d{7,8}"] +,[,,"2\\d{7}|4[2-7]\\d{6}","\\d{7,8}"] +,[,,"9[13-9]\\d{6}","\\d{8}"] +,[,,"80[05]\\d{4}","\\d{7}"] +,[,,"90[0-8]\\d{4}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"UY",598,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"UY",598,"0(?:1[3-9]\\d|0)","0"," int. ",,"0",,"00",,[[,"(\\d{4})(\\d{4})","$1 $2",["[24]"] +,"",""] +,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["9[1-9]"] +,"0$1",""] +,[,"(\\d{3})(\\d{4})","$1 $2",["[89]0"] +,"0$1",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -4190,8 +4242,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"VI":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"340(?:2(?:01|2[07]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?"] -,[,,"340(?:2(?:01|2[07]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?"] +,[,,"340(?:2(?:01|2[067]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?"] +,[,,"340(?:2(?:01|2[067]|36|44|77)|3(?:32|44)|4(?:4[38]|7[34])|5(?:1[34]|55)|6(?:26|4[23]|9[023])|7(?:[17]\\d|27)|884|998)\\d{4}","\\d{7}(?:\\d{3})?"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] @@ -4230,27 +4282,32 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"VU":[,[] -,[] -,[] +,"VU":[,[,,"[2-578]\\d{4,6}","\\d{5,7}"] +,[,,"(?:2[2-9]\\d|3(?:[67]\\d|8[0-8])|48[4-9]|88\\d)\\d{2}","\\d{5}"] +,[,,"(?:5(?:7[2-5]|[3-69]\\d)|7[013-7]\\d)\\d{4}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"VU",678,"00",,,,,,,1,,,[,,"NA","NA"] +,"VU",678,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",["[57]"] +,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"30\\d{3}","\\d{5}"] ] -,"WF":[,[] -,[] -,[] +,"WF":[,[,,"[5-7]\\d{5}","\\d{6}"] +,[,,"(?:50|68|72)\\d{4}","\\d{6}"] +,[,,"(?:50|68|72)\\d{4}","\\d{6}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"WF",681,"19",,,,,,,1,,,[,,"NA","NA"] +,"WF",681,"00",,,,,,,1,[[,"(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3",,"",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ]