diff --git a/javascript/README b/javascript/README index 09d9e46da..351382074 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 171). +The JavaScript library is ported from the Java implementation (revision 192). When the Java project gets updated follow these steps to update the JavaScript project: diff --git a/javascript/i18n/phonenumbers/asyoutypeformatter_test.js b/javascript/i18n/phonenumbers/asyoutypeformatter_test.js index 407abaa85..1fb2cf1fc 100644 --- a/javascript/i18n/phonenumbers/asyoutypeformatter_test.js +++ b/javascript/i18n/phonenumbers/asyoutypeformatter_test.js @@ -565,6 +565,92 @@ function testAYTFKR() { assertEquals('011-9876-7890', f.inputDigit('0')); } +function testAYTF_MX() { + /** @type {i18n.phonenumbers.AsYouTypeFormatter} */ + var f = new i18n.phonenumbers.AsYouTypeFormatter('MX'); + + // +52 800 123 4567 + assertEquals('+', f.inputDigit('+')); + assertEquals('+5', f.inputDigit('5')); + assertEquals('+52 ', f.inputDigit('2')); + assertEquals('+52 8', f.inputDigit('8')); + assertEquals('+52 80', f.inputDigit('0')); + assertEquals('+52 800', f.inputDigit('0')); + assertEquals('+52 800 1', f.inputDigit('1')); + assertEquals('+52 800 12', f.inputDigit('2')); + assertEquals('+52 800 123', f.inputDigit('3')); + assertEquals('+52 800 123 4', f.inputDigit('4')); + assertEquals('+52 800 123 45', f.inputDigit('5')); + assertEquals('+52 800 123 456', f.inputDigit('6')); + assertEquals('+52 800 123 4567', f.inputDigit('7')); + + // +52 55 1234 5678 + f.clear(); + assertEquals('+', f.inputDigit('+')); + assertEquals('+5', f.inputDigit('5')); + assertEquals('+52 ', f.inputDigit('2')); + assertEquals('+52 5', f.inputDigit('5')); + assertEquals('+52 55', f.inputDigit('5')); + assertEquals('+52 55 1', f.inputDigit('1')); + assertEquals('+52 55 12', f.inputDigit('2')); + assertEquals('+52 55 123', f.inputDigit('3')); + assertEquals('+52 55 1234', f.inputDigit('4')); + assertEquals('+52 55 1234 5', f.inputDigit('5')); + assertEquals('+52 55 1234 56', f.inputDigit('6')); + assertEquals('+52 55 1234 567', f.inputDigit('7')); + assertEquals('+52 55 1234 5678', f.inputDigit('8')); + + // +52 212 345 6789 + f.clear(); + assertEquals('+', f.inputDigit('+')); + assertEquals('+5', f.inputDigit('5')); + assertEquals('+52 ', f.inputDigit('2')); + assertEquals('+52 2', f.inputDigit('2')); + assertEquals('+52 21', f.inputDigit('1')); + assertEquals('+52 212', f.inputDigit('2')); + assertEquals('+52 212 3', f.inputDigit('3')); + assertEquals('+52 212 34', f.inputDigit('4')); + assertEquals('+52 212 345', f.inputDigit('5')); + assertEquals('+52 212 345 6', f.inputDigit('6')); + assertEquals('+52 212 345 67', f.inputDigit('7')); + assertEquals('+52 212 345 678', f.inputDigit('8')); + assertEquals('+52 212 345 6789', f.inputDigit('9')); + + // +52 1 55 1234 5678 + f.clear(); + assertEquals('+', f.inputDigit('+')); + assertEquals('+5', f.inputDigit('5')); + assertEquals('+52 ', f.inputDigit('2')); + assertEquals('+52 1', f.inputDigit('1')); + assertEquals('+52 15', f.inputDigit('5')); + assertEquals('+52 1 55', f.inputDigit('5')); + assertEquals('+52 1 55 1', f.inputDigit('1')); + assertEquals('+52 1 55 12', f.inputDigit('2')); + assertEquals('+52 1 55 123', f.inputDigit('3')); + assertEquals('+52 1 55 1234', f.inputDigit('4')); + assertEquals('+52 1 55 1234 5', f.inputDigit('5')); + assertEquals('+52 1 55 1234 56', f.inputDigit('6')); + assertEquals('+52 1 55 1234 567', f.inputDigit('7')); + assertEquals('+52 1 55 1234 5678', f.inputDigit('8')); + + // +52 1 541 234 5678 + f.clear(); + assertEquals('+', f.inputDigit('+')); + assertEquals('+5', f.inputDigit('5')); + assertEquals('+52 ', f.inputDigit('2')); + assertEquals('+52 1', f.inputDigit('1')); + assertEquals('+52 15', f.inputDigit('5')); + assertEquals('+52 1 54', f.inputDigit('4')); + assertEquals('+52 1 541', f.inputDigit('1')); + assertEquals('+52 1 541 2', f.inputDigit('2')); + assertEquals('+52 1 541 23', f.inputDigit('3')); + assertEquals('+52 1 541 234', f.inputDigit('4')); + assertEquals('+52 1 541 234 5', f.inputDigit('5')); + assertEquals('+52 1 541 234 56', f.inputDigit('6')); + assertEquals('+52 1 541 234 567', f.inputDigit('7')); + assertEquals('+52 1 541 234 5678', f.inputDigit('8')); +} + function testAYTFMultipleLeadingDigitPatterns() { // +81 50 2345 6789 /** @type {i18n.phonenumbers.AsYouTypeFormatter} */ diff --git a/javascript/i18n/phonenumbers/demo.html b/javascript/i18n/phonenumbers/demo.html index e0937075b..7eca35b01 100644 --- a/javascript/i18n/phonenumbers/demo.html +++ b/javascript/i18n/phonenumbers/demo.html @@ -86,6 +86,12 @@ function phoneNumberParser() { case PNT.PERSONAL_NUMBER: output.append('PERSONAL_NUMBER'); break; + case PNT.PAGER: + output.append('PAGER'); + break; + case PNT.UAN: + output.append('UAN'); + break; case PNT.UNKNOWN: output.append('UNKNOWN'); break; diff --git a/javascript/i18n/phonenumbers/metadata.js b/javascript/i18n/phonenumbers/metadata.js index c6e640622..26569931c 100644 --- a/javascript/i18n/phonenumbers/metadata.js +++ b/javascript/i18n/phonenumbers/metadata.js @@ -60,7 +60,7 @@ i18n.phonenumbers.metadata.countryCodeToRegionCodeMap = { ,57:["CO"] ,58:["VE"] ,60:["MY"] -,61:["AU"] +,61:["AU","CC","CX"] ,62:["ID"] ,63:["PH"] ,64:["NZ"] @@ -143,7 +143,7 @@ i18n.phonenumbers.metadata.countryCodeToRegionCodeMap = { ,355:["AL"] ,356:["MT"] ,357:["CY"] -,358:["FI"] +,358:["FI","AX"] ,359:["BG"] ,370:["LT"] ,371:["LV"] @@ -352,17 +352,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"AM":[,[,,"[1-36-9]\\d{7}","\\d{5,8}"] +,"AM":[,[,,"[1-35-9]\\d{7}","\\d{5,8}"] ,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}",,,"10123456"] -,[,,"(?:77|9[1-46-9])\\d{6}","\\d{8}",,,"77123456"] +,[,,"(?:55|77|9[1-46-9])\\d{6}","\\d{8}",,,"77123456"] ,[,,"800\\d{5}","\\d{8}",,,"80012345"] ,[,,"90[016]\\d{5}","\\d{8}",,,"90012345"] ,[,,"80[1-4]\\d{5}","\\d{8}",,,"80112345"] ,[,,"NA","NA"] ,[,,"6027\\d{4}","\\d{8}",,,"60271234"] -,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-9]"] +,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["1"] ,"(0$1)",""] -,[,"(\\d{2})(\\d{6})","$1 $2",["6"] +,[,"(\\d{2})(\\d{6})","$1 $2",["[5-7]|9[1-9]"] ,"0$1",""] ,[,"(\\d{3})(\\d{5})","$1 $2",["[23]"] ,"(0$1)",""] @@ -414,11 +414,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,"AR",54,"00","0",,,"0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|47[3-578]|6(?:1|2[2-7]|4[6-8]?|5[125-8])|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[0-24-68]|5[2-4]|6[2-6]|72?|8[23]?))|3(?:3(?:2[79]|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\\d|7[126]|8[237-9]|9[1-36-8])|5(?:1|2[1245]|3[2-4]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|7(?:1[15-8]|2[125]|3[1245]|4[13]|5[124-8]|7[2-57]|8[1-36])|8(?:1|2[125-7]|3[23578]|4[13-6]|5[4-8]?|6[1-357-9]|7[5-8]?|8[4-7]?|9[124])))15)?","9$1",,,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"] ,"0$1",""] -,[,"9(11)(\\d{4})(\\d{4})","$1 15-$2-$3",["91"] +,[,"(9)(11)(\\d{4})(\\d{4})","$2 15-$3-$4",["911"] ,"0$1",""] -,[,"9(\\d{3})(\\d{3})(\\d{4})","$1 15-$2-$3",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] +,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] ,"0$1",""] -,[,"9(\\d{4})(\\d{2})(\\d{4})","$1 15-$2-$3",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] +,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] ,"0$1",""] ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"] ,"0$1",""] @@ -428,19 +428,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"] -,,""] -,[,"9(11)(\\d{4})(\\d{4})","9 $1 $2-$3",["91"] -,,""] -,[,"9(\\d{3})(\\d{3})(\\d{4})","9 $1 $2-$3",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] -,,""] -,[,"9(\\d{4})(\\d{2})(\\d{4})","9 $1 $2-$3",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] -,,""] +] +,[,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3-$4",["911"] +] +,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] +] +,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] +] ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578])"] -,,""] +] ,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -478,7 +478,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"] -,[,,"[2378]\\d{8}","\\d{8,9}",,,"212345678"] +,[,,"[237]\\d{8}|8(?:[68]\\d{3}|7[1-4]\\d{2}|9(?:[02-9]\\d{2}|1(?:[0-57-9]\\d|6[0135-9])))\\d{4}","\\d{8,9}",,,"212345678"] ,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}",,,"412345678"] ,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}",,,"1800123456"] ,[,,"190[0126]\\d{6}","\\d{10}",,,"1900123456"] @@ -499,23 +499,35 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] -,,,[,,"NA","NA"] +,1,,[,,"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"] -,[,,"(?:5[69]\\d|660|9(?:6\\d|9[02-9])|7[34]\\d)\\d{4}","\\d{7}",,,"5601234"] +,"AW":[,[,,"[25-9]\\d{6}","\\d{7}"] +,[,,"5(?:2\\d|8[1-9])\\d{4}","\\d{7}",,,"5212345"] +,[,,"(?:5(?:6\\d|9[2-478])|6(?:[039]0|22|[46][01])|7[34]\\d|9(?:6[45]|9[4-8]))\\d{4}","\\d{7}",,,"5601234"] ,[,,"800\\d{4}","\\d{7}",,,"8001234"] ,[,,"900\\d{4}","\\d{7}",,,"9001234"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"AW",297,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{4})","$1 $2",,"",""] +,[,,"28\\d{5}|501\\d{4}","\\d{7}",,,"5011234"] +,"AW",297,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] +,"AX":[,[,,"[135]\\d{5,9}|[27]\\d{4,9}|4\\d{5,10}|6\\d{7,8}|8\\d{6,9}","\\d{5,12}"] +,[,,"18[1-8]\\d{3,9}","\\d{6,12}",,,"1812345678"] +,[,,"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"] +,[,,"NA","NA"] +,[,,"NA","NA"] +,[,,"NA","NA"] +,"AX",358,"00|99[049]","0",,,"0",,,,,,[,,"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{5,10}",,,"10112345"] +] ,"AZ":[,[,,"[1-9]\\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|44\\d{2})\\d{5}","\\d{5,9}",,,"123123456"] ,[,,"(?:[46]0|5[015]|7[07])\\d{7}","\\d{9}",,,"401234567"] @@ -858,6 +870,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] +,"CC":[,[,,"[1458]\\d{5,9}","\\d{6,10}"] +,[,,"89162\\d{4}","\\d{8,9}",,,"891621234"] +,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}",,,"412345678"] +,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}",,,"1800123456"] +,[,,"190[0126]\\d{6}","\\d{10}",,,"1900123456"] +,[,,"NA","NA"] +,[,,"500\\d{6}","\\d{9}",,,"500123456"] +,[,,"550\\d{6}","\\d{9}",,,"550123456"] +,"CC",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",,,"0",,"0011",,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"] ,[,,"[1-6]\\d{6}","\\d{7}",,,"1234567"] ,[,,"(?:8[0-2489]|9[7-9])\\d{7}","\\d{9}",,,"991234567"] @@ -997,7 +1021,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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"] -,[,,"1(?:3[0-9]|47|5[0135689]|8[05-9])\\d{8}","\\d{11}",,,"13123456789"] +,[,,"1(?:3\\d|4[57]|5[0-35-9]|8[025-9])\\d{8}","\\d{11}",,,"13123456789"] ,[,,"(?:10)?800\\d{7}","\\d{10,12}",,,"8001234567"] ,[,,"16[08]\\d{5}","\\d{8}",,,"16812345"] ,[,,"NA","NA"] @@ -1022,22 +1046,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"] ,"",""] ] -,[[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"] -,,""] +,[[,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"] +] +,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"] +] +,[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"] +] ,[,"([12]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["10[1-9]|2[02-9]","10[1-9]|2[02-9]","10(?:[1-79]|8(?:[1-9]|0[1-9]))|2[02-9]"] -,,""] -,[,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"] -,,""] +] ,[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3(?:11|7[159])|4[135]1|5(?:1|2[37]|3[12]|7[13-79]|9[15])|7(?:31|5[457]|6[09])|898"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:1[02-9]|35|49|5|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|6[1-6]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|[37]|5[1-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])"] -,,""] +] ,[,"(1[3-58]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["1[3-58]"] -,,""] -,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"] -,,""] +] ,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -1059,11 +1083,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"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"] @@ -1071,7 +1095,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"CR":[,[,,"[2489]\\d{7,9}","\\d{8,10}"] ,[,,"2[24-7]\\d{6}","\\d{8}",,,"22123456"] -,[,,"8(?:[389]\\d|7[0-3])\\d{5}","\\d{8}",,,"83123456"] +,[,,"8[36789]\\d{6}","\\d{8}",,,"83123456"] ,[,,"800\\d{7}","\\d{10}",,,"8001234567"] ,[,,"90[059]\\d{7}","\\d{10}",,,"9001234567"] ,[,,"NA","NA"] @@ -1133,6 +1157,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] +,"CX":[,[,,"[1458]\\d{5,9}","\\d{6,10}"] +,[,,"89164\\d{4}","\\d{8,9}",,,"891641234"] +,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}",,,"412345678"] +,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}",,,"1800123456"] +,[,,"190[0126]\\d{6}","\\d{10}",,,"1900123456"] +,[,,"NA","NA"] +,[,,"500\\d{6}","\\d{9}",,,"500123456"] +,[,,"550\\d{6}","\\d{9}",,,"550123456"] +,"CX",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",,,"0",,"0011",,,,[,,"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"] ,[,,"60[1-8]\\d{6}|7[2379]\\d{7}","\\d{9}",,,"601123456"] @@ -1204,7 +1240,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"DM":[,[,,"[57-9]\\d{9}","\\d{7}(?:\\d{3})?"] ,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7}(?:\\d{3})?",,,"7674201234"] -,[,,"767(?:2(?:[2346]5|7[5-7])|31[5-7]|61[4-6])\\d{4}","\\d{10}",,,"7672251234"] +,[,,"767(?:2(?:[2346]5|7[5-7])|31[5-7]|61[4-7])\\d{4}","\\d{10}",,,"7672251234"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] @@ -1261,11 +1297,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,[[,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-7]"] -,,""] +] ,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"] -,,""] +] ,[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -1341,7 +1377,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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"] -,[,,"91[0-8]\\d{6}","\\d{9}",,,"911234567"] +,[,,"9[12]\\d{7}","\\d{9}",,,"911234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -1354,7 +1390,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"FI":[,[,,"1\\d{4,11}|[2-9]\\d{4,10}","\\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}",,,"1312345678"] +,[,,"1(?:[3569][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"] @@ -1369,12 +1405,12 @@ 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"] +,1,,[,,"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{5,10}",,,"10112345"] ] ,"FJ":[,[,,"[36-9]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"] ,[,,"(?:3[0-5]|6[25-7]|8[58])\\d{5}","\\d{7}",,,"3212345"] -,[,,"(?:7[0-4]|9[29])\\d{5}","\\d{7}",,,"7012345"] +,[,,"(?:7[0-4]|9[27-9])\\d{5}","\\d{7}",,,"7012345"] ,[,,"0800\\d{7}","\\d{11}",,,"08001234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -1551,7 +1587,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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"] -,[,,"2(?:(?:[47]\\d|08)\\d{6}|[368]\\d{7})|54\\d{7}","\\d{9}",,,"231234567"] +,[,,"(?:2[034678]|54)\\d{7}","\\d{9}",,,"231234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -1915,30 +1951,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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\\d{7,11}|[2-9]\\d{9,10}","\\d{6,12}"] -,[,,"(?: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"] -,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[568]|9[39])|3(?:07|7[3679]|9[689])|4(?:05|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5]|[47]9|50|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[67]|9[6-9])|7(?:0[289]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7[015689]|9[0357-9]))\\d|9\\d{4}|8(?:(?:0[01589]|1[24]|2[2369]|4[023458]|52|6[0589]|7[2569])\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}",,,"9123456789"] +,[,,"(?:11|2[02]|33|4[04]|79)[2-6]\\d{7}|80[2-46]\\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"] +,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[134679]|5[0-489]|7[3679]|8[3-9]|9[689])|4(?:0[4579]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|[39][5-9]|42|60)|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7\\d|9[013-9]))|8(?:0[01589]\\d|1(?:[024]\\d|15|30|7[19]|97)|2(?:[2369]\\d|52|7[0135]|8[67])|3(?:0[235-8]|4[179]|74|90)|4(?:[02-58]\\d|10|6[09])|5(?:0[079]|[19]1|2\\d|30|4[47]|53|7[45])|6(?:[0589]\\d|7[09])|7(?:1[24]|[2569]\\d)|8(?:[07-9]\\d|17|2[024-8]|44|5[389]|6[0167])|9(?:[057-9]\\d|2[35-9]|3[09]|4[038]|6[0-27-9]))|9\\d{3})\\d{6}","\\d{10}",,,"9123456789"] ,[,,"1(?:600\\d{6}|800\\d{4,8})","\\d{8,12}",,,"1800123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|39|4[0-389]|5[04-9]|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8[0479]|9[057-9])|9","7(?:2[0579]|39|4[0-389]|5(?:0[0-5]|49|50|[6-9])|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9"] +,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|3[057-9]|4[0-389]|5[024-9]|6[0-35-9]|7[03469]|8[0-4679])|8(?:0[01589]|1[0-479]|2[236-9]|3[0479]|4[0-68]|5[0-579]6[05789]7[12569]|8[0124-9]|9[02-9])|9","7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[134679]|5[0-489]|7[3679]|8[3-9]|9[689])|4(?:0[4579]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7|9[013-9]))|8(?:0[01589]|1(?:[024]|15|30|7[19]|97)|2(?:[2369]|7[0135]|8[67])|3(?:0[235-8]|4[179]|74|90)|4(?:[02-58]|10|6[09])|5(?:0[079]|[19]1|2|30|4[47]|53|7[45])|6(?:[0589]|70)|7(?:1[24]|[2569])|8(?:[07-9]|17|2[024-8]|44|5[389]|6[0167])|9(?:[057-9]|2[35-9]|3[09]|4[038]|6[0-27-9]))|9"] ,"0$1",""] -,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-6]"] +,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-46]"] ,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])"] +,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])|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)"] ,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["6(?:12|[2345]1|57|6[13]|7[14]|80)"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)","7(?:12|2[14]|3[134]|4[47]|5(?:1|5[1-9])|[67]1|88)"] +,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)","7(?:12|2[14]|3[134]|4[47]|5(?:1|5[2-6])|[67]1|88)"] ,"0$1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)"] ,"0$1",""] @@ -2098,15 +2124,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"JP":[,[,,"\\d{9,10}","\\d{9,10}"] ,[,,"(?: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"] +,[,,"(?:[79]0\\d|80[1-9])\\d{7}","\\d{10}",,,"7012345678"] +,[,,"120\\d{6}|800\\d{7}","\\d{9,10}",,,"120123456"] ,[,,"990\\d{6}","\\d{9}",,,"990123456"] ,[,,"NA","NA"] ,[,,"60\\d{7}","\\d{9}",,,"601234567"] ,[,,"50\\d{8}","\\d{10}",,,"5012345678"] -,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|99)0"] +,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"] +,"0$1",""] +,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"] ,"0$1",""] -,[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57-9]0"] +,[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]0|80[1-9]"] ,"0$1",""] ,[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"] ,"0$1",""] @@ -2118,16 +2146,16 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(\\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]"] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479][1-9]"] ,"0$1",""] ] -,,[,,"NA","NA"] +,,[,,"20\\d{8}","\\d{10}",,,"2012345678"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"570\\d{6}","\\d{9}",,,"570123456"] ] ,"KE":[,[,,"\\d{6,10}","\\d{4,10}"] ,[,,"(?:20|4[0-6]|5\\d|6[0-24-9])\\d{4,7}","\\d{4,9}",,,"202012345"] -,[,,"7(?:1[0-6]|2\\d|3[2-8]|5[0-2]|7[023])\\d{6}","\\d{9}",,,"712123456"] +,[,,"7(?:0[0-3]|[123]\\d|5[0-3]|7[0-4])\\d{6}","\\d{9}",,,"712123456"] ,[,,"8(?:00|88)\\d{6,7}","\\d{9,10}",,,"800123456"] ,[,,"9(?:00|1)\\d{6,7}","\\d{8,10}",,,"900123456"] ,[,,"NA","NA"] @@ -2190,11 +2218,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"KM":[,[,,"[37]\\d{6}","\\d{7}"] +,"KM":[,[,,"[379]\\d{6}","\\d{7}"] ,[,,"7(?:6[0-37-9]|7[0-57-9])\\d{4}","\\d{7}",,,"7712345"] ,[,,"3[23]\\d{5}","\\d{7}",,,"3212345"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"(?:39[01]|9[01]0)\\d{4}","\\d{7}",,,"9001234"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2205,8 +2233,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"KN":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7}(?:\\d{3})?",,,"8692361234"] -,[,,"869(?:5(?:5[6-8]|6[5-7])|66[2-9]|76[2-5])\\d{4}","\\d{10}",,,"8695561234"] +,[,,"869(?:2(?:29|36)|302|4(?:6[5-9]|70))\\d{4}","\\d{7}(?:\\d{3})?",,,"8692361234"] +,[,,"869(?:5(?:5[6-8]|6[5-7])|66\\d|76[02-6])\\d{4}","\\d{10}",,,"8695561234"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"] ,[,,"NA","NA"] @@ -2388,18 +2416,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"LR":[,[,,"(?:[279]\\d|[4-6])\\d{6}","\\d{7,8}"] +,"LR":[,[,,"(?:[279]\\d|[4-6]|[38]\\d{2})\\d{6}","\\d{7,9}"] ,[,,"2\\d{7}","\\d{8}",,,"21234567"] -,[,,"(?:4[67]|5\\d|6[4-8]|7\\d{2})\\d{5}","\\d{7,8}",,,"4612345"] +,[,,"(?:4[67]|5\\d|6[4-8]|7\\d{2}|880\\d)\\d{5}","\\d{7,9}",,,"4612345"] ,[,,"NA","NA"] ,[,,"90\\d{6}","\\d{8}",,,"90123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"33200\\d{4}","\\d{9}",,,"332001234"] ,"LR",231,"00","0",,,"0",,,,[[,"([279]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[279]"] ,"0$1",""] ,[,"([4-6])(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"] ,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[38]"] +,"0$1",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -2539,22 +2569,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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"] -,[,,"(?:6(?:50|7[12]|[89]\\d)|7(?:80|9\\d))\\d{5}","\\d{8}",,,"65012345"] +,[,,"(?:6(?:0[0-3]|50|7[12]|[89]\\d)|7(?:80|9\\d))\\d{5}","\\d{8}",,,"65012345"] ,[,,"800\\d{5}","\\d{8}",,,"80012345"] -,[,,"900\\d{5}","\\d{8}",,,"90012345"] -,[,,"NA","NA"] +,[,,"90[056]\\d{5}","\\d{8}",,,"90012345"] +,[,,"808\\d{5}","\\d{8}",,,"80812345"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MD",373,"00","0",,,"0",,,,[[,"(22)(\\d{3})(\\d{3})","$1 $2 $3",["22"] ,"0$1",""] ,[,"([25-7]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["2[13-79]|[5-7]"] ,"0$1",""] -,[,"([89]00)(\\d{5})","$1 $2",["[89]"] +,[,"([89]\\d{2})(\\d{5})","$1 $2",["[89]"] ,"0$1",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"8(?:03|14)\\d{5}","\\d{8}",,,"80312345"] ] ,"ME":[,[,,"[2-9]\\d{7,8}","\\d{6,9}"] ,[,,"(?:20[2-8]|3(?:0[2-7]|1[35-7]|2[367]|3[4-7])|4(?:0[237]|1[2467])|5(?:0[47]|1[27]|2[378]))\\d{5}","\\d{6,8}",,,"30234567"] @@ -2718,15 +2748,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,"670",[,,"NA","NA"] ,[,,"NA","NA"] ] -,"MQ":[,[] -,[] -,[] +,"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"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"MQ",596,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -2834,19 +2866,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"01 $1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[12457-9]|5[89]|8[02-9]|9[0-35-9]"] ,"01 $1",""] -,[,"1([358]\\d)(\\d{4})(\\d{4})","045 $1 $2 $3",["1(?:33|55|81)"] +,[,"(1)([358]\\d)(\\d{4})(\\d{4})","045 $2 $3 $4",["1(?:33|55|81)"] ,"$1",""] -,[,"1(\\d{3})(\\d{3})(\\d{4})","045 $1 $2 $3",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"] +,[,"(1)(\\d{3})(\\d{3})(\\d{4})","045 $2 $3 $4",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"] ,"$1",""] ] ,[[,"([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[12457-9]|5[89]|8[02-9]|9[0-35-9]"] -,,""] +] ,[,"(1)([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3 $4",["1(?:33|55|81)"] -,,""] +] ,[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -3036,19 +3068,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1,,[,,"NA","NA"] ,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?",,,"01234"] ,1] -,"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"] -,[,,"98[45]\\d{7}","\\d{10}",,,"9841234567"] +,"NP":[,[,,"[1-8]\\d{7}|9(?:[1-69]\\d{6}|7[2-6]\\d{5,7}|8\\d{8})","\\d{6,10}"] +,[,,"(?:1[0124-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-79])\\d{6}","\\d{6,8}",,,"14567890"] +,[,,"9(?:7[45]|8[0145])\\d{7}","\\d{10}",,,"9841234567"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"NP",977,"00","0",,,"0",,,,[[,"(1)([4-6]\\d{3})(\\d{3})","$1 $2 $3",["1[4-6]"] +,"NP",977,"00","0",,,"0",,,,[[,"(1)(\\d{7})","$1-$2",["1[2-6]"] ,"0$1",""] -,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["1[01]|[2-8]|9[1-79]"] +,[,"(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-69]|7[15-9])"] ,"0$1",""] -,[,"(98[45])(\\d{3})(\\d{4})","$1 $2 $3",["98"] +,[,"(9\\d{2})(\\d{7})","$1-$2",["9(?:7[45]|8)"] ,"0$1",""] ] ,,[,,"NA","NA"] @@ -3185,7 +3217,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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"] -,[,,"9(?:0[5-9]|1[025-9]|2[0-36-9]|3[0235-9]|7[349]|[89]9)\\d{7}","\\d{10}",,,"9051234567"] +,[,,"9(?:0[5-9]|1[025-9]|2[0-36-9]|3[0235-9]|4[89]|7[349]|89|9[49])\\d{7}","\\d{10}",,,"9051234567"] ,[,,"1800\\d{7,9}","\\d{11,13}",,,"180012345678"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -3476,16 +3508,16 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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"] -,[,,"(?:5(?:[1247-9]\\d|6[3-9])|7(?:[14679]\\d|2[1-9]|8[24-79]))\\d{3}","\\d{6}",,,"510123"] +,[,,"(?:2?(?:55[0-5]|78[013])|4?(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:0[34]|2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|6(?:0[0-256]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])))\\d{3}","\\d{6,7}",,,"4217123"] +,[,,"2?(?:5(?:[0-46-9]\\d|5[6-9])|7(?:[0-79]\\d|8[24-9]))\\d{3}","\\d{6,7}",,,"2510123"] ,[,,"8000\\d{2}","\\d{6}",,,"800000"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"(?:44[1-3]|647)\\d{4}","\\d{7}",,,"4410123"] -,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",["[23578]|[46][0-35-9]"] +,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",["[3578]|2[1-4689]|6(?:[0-35-9]|4[0-689])"] ,"",""] -,[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[46]4"] +,[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2[57]|4[2-46]|647"] ,"",""] ] ,,[,,"NA","NA"] @@ -3507,7 +3539,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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"] +,[,,"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[0-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"] ,[,,"7[02-46]\\d{7}","\\d{9}",,,"701234567"] ,[,,"20\\d{4,7}","\\d{6,9}",,,"201234567"] ,[,,"9(?:00|39|44)\\d{7}","\\d{10}",,,"9001234567"] @@ -3532,21 +3564,21 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,[[,"(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"] @@ -3667,11 +3699,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,[[,"(\\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"] @@ -3679,7 +3711,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1] ,"SN":[,[,,"[37]\\d{8}","\\d{9}"] ,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}",,,"301012345"] -,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[6-9]|7[45]|8[3-8])|7(?:1[014-8]|2[0-7]|3[0-35-8]|4[0-6]|[56]\\d|7[0-589]|8[01]|9[0-6]))\\d{5}","\\d{9}",,,"701012345"] +,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[5-9]|7[45]|8[3-8])|7(?:01|1[014-8]|[2-79]\\d|8[019]))\\d{5}","\\d{9}",,,"701012345"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -3755,7 +3787,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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"] -,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[19])\\d{6}","\\d{9}",,,"944567890"] +,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[1-49])\\d{6}","\\d{9}",,,"944567890"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -4045,7 +4077,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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"] -,[,,"7(?:[1578]\\d|0[0-4])\\d{6}","\\d{9}",,,"712345678"] +,[,,"7(?:[15789]\\d|0[0-4])\\d{6}","\\d{9}",,,"712345678"] ,[,,"800[123]\\d{5}","\\d{9}",,,"800123456"] ,[,,"90[123]\\d{6}","\\d{9}",,,"901123456"] ,[,,"NA","NA"] @@ -4073,7 +4105,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"US",1,"011","1",,,"1",,,1,[[,"(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",,"",""] ,[,"(\\d{3})(\\d{4})","$1-$2",,"",""] ] -,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",,,""] +,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3"] ] ,[,,"NA","NA"] ,1,,[,,"NA","NA"] @@ -4121,7 +4153,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1] ,"VC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"] ,[,,"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}(?:\\d{3})?",,,"7842661234"] -,[,,"784(?:4(?:3[0-24]|5[45]|9[2-5])|5(?:2[6-9]|3[0-3]|93))\\d{4}","\\d{10}",,,"7844301234"] +,[,,"784(?:4(?:3[0-4]|5[45]|9[2-5])|5(?:2[6-9]|3[0-4]|93))\\d{4}","\\d{10}",,,"7844301234"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] @@ -4158,8 +4190,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"VI":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"340(?:6[49]2|7[17]\\d)\\d{4}","\\d{7}(?:\\d{3})?",,,"3406421234"] -,[,,"340(?:6[49]2|7[17]\\d)\\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[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"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"] ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"] ,[,,"NA","NA"] @@ -4287,7 +4319,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"ZM":[,[,,"[289]\\d{8}","\\d{9}"] ,[,,"21[1-8]\\d{6}","\\d{9}",,,"211234567"] -,[,,"9(?:55|6[4-9]|7[4-9])\\d{6}","\\d{9}",,,"955123456"] +,[,,"9(?:55|6[3-9]|7[4-9])\\d{6}","\\d{9}",,,"955123456"] ,[,,"800\\d{6}","\\d{9}",,,"800123456"] ,[,,"NA","NA"] ,[,,"NA","NA"] diff --git a/javascript/i18n/phonenumbers/metadatafortesting.js b/javascript/i18n/phonenumbers/metadatafortesting.js index cd4c0aaed..d17b41888 100644 --- a/javascript/i18n/phonenumbers/metadatafortesting.js +++ b/javascript/i18n/phonenumbers/metadatafortesting.js @@ -91,23 +91,23 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["1[02-9]|[23]"] ,"0$1",""] -,[,"9(11)(\\d{4})(\\d{4})","$1 15 $2-$3",["911"] +,[,"(9)(11)(\\d{4})(\\d{4})","$2 15 $3-$4",["911"] ,"0$1",""] -,[,"9(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["9(?:1[02-9]|[23])"] +,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$2 $3-$4",["9(?:1[02-9]|[23])"] ,"0$1","0$1 $CC"] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"] ,"0$1",""] ] ,[[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["11"] -,,""] +] ,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["1[02-9]|[23]"] -,,""] +] ,[,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3 $4",["911"] -,,""] +] ,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3 $4",["9(?:1[02-9]|[23])"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -278,26 +278,26 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MX",52,"00","01",,,"01|04[45](\\d{10})","1$1",,,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]00"] -,"",""] +,"01 $1",""] ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"] -,"",""] +,"01 $1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]"] -,"",""] -,[,"1(\\d{2})(\\d{4})(\\d{4})","045 $1 $2 $3",["1(?:33|55|81)"] -,"",""] -,[,"1(\\d{3})(\\d{3})(\\d{4})","045 $1 $2 $3",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"] -,"",""] +,"01 $1",""] +,[,"(1)(\\d{2})(\\d{4})(\\d{4})","045 $2 $3 $4",["1(?:33|55|81)"] +,"$1",""] +,[,"(1)(\\d{3})(\\d{3})(\\d{4})","045 $2 $3 $4",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"] +,"$1",""] ] ,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[89]00"] -,,""] +] ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[0-24-9]|5[0-46-9]|8[2-9]|9[1-9]"] -,,""] +] ,[,"(1)(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3 $4",["1(?:33|55|81)"] -,,""] +] ,[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[124579]|3[0-24-9]|5[0-46-9]|8[02-9])"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -380,7 +380,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"US",1,"011","1"," extn. ",,"1",,,1,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",,"",""] ,[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] -,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",,,""] +,[[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3"] ] ,[,,"NA","NA"] ,1,,[,,"800\\d{7}","\\d{10}",,,"1234567890"] diff --git a/javascript/i18n/phonenumbers/metadatalite.js b/javascript/i18n/phonenumbers/metadatalite.js index 823758903..4c81c1a3c 100644 --- a/javascript/i18n/phonenumbers/metadatalite.js +++ b/javascript/i18n/phonenumbers/metadatalite.js @@ -60,7 +60,7 @@ i18n.phonenumbers.metadata.countryCodeToRegionCodeMap = { ,57:["CO"] ,58:["VE"] ,60:["MY"] -,61:["AU"] +,61:["AU","CC","CX"] ,62:["ID"] ,63:["PH"] ,64:["NZ"] @@ -143,7 +143,7 @@ i18n.phonenumbers.metadata.countryCodeToRegionCodeMap = { ,355:["AL"] ,356:["MT"] ,357:["CY"] -,358:["FI"] +,358:["FI","AX"] ,359:["BG"] ,370:["LT"] ,371:["LV"] @@ -352,17 +352,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"AM":[,[,,"[1-36-9]\\d{7}","\\d{5,8}"] +,"AM":[,[,,"[1-35-9]\\d{7}","\\d{5,8}"] ,[,,"(?:10\\d|2(?:2[2-46]|3[1-8]|4[2-69]|5[2-7]|6[1-9]|8[1-7])|3[12]2)\\d{5}","\\d{5,8}"] -,[,,"(?:77|9[1-46-9])\\d{6}","\\d{8}"] +,[,,"(?:55|77|9[1-46-9])\\d{6}","\\d{8}"] ,[,,"800\\d{5}","\\d{8}"] ,[,,"90[016]\\d{5}","\\d{8}"] ,[,,"80[1-4]\\d{5}","\\d{8}"] ,[,,"NA","NA"] ,[,,"6027\\d{4}","\\d{8}"] -,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["[17]|9[1-9]"] +,"AM",374,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{6})","$1 $2",["1"] ,"(0$1)",""] -,[,"(\\d{2})(\\d{6})","$1 $2",["6"] +,[,"(\\d{2})(\\d{6})","$1 $2",["[5-7]|9[1-9]"] ,"0$1",""] ,[,"(\\d{3})(\\d{5})","$1 $2",["[23]"] ,"(0$1)",""] @@ -414,11 +414,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ,"AR",54,"00","0",,,"0(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1-367])|3(?:[06]2|1[467]|2[02-6]|3[13-8]|[49][2-6]|5[2-8]|7)|47[3-578]|6(?:1|2[2-7]|4[6-8]?|5[125-8])|9(?:0[1-3]|[19]|2\\d|3[1-6]|4[0-24-68]|5[2-4]|6[2-6]|72?|8[23]?))|3(?:3(?:2[79]|8[2578])|4(?:0[124-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6\\d|7[126]|8[237-9]|9[1-36-8])|5(?:1|2[1245]|3[2-4]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|7(?:1[15-8]|2[125]|3[1245]|4[13]|5[124-8]|7[2-57]|8[1-36])|8(?:1|2[125-7]|3[23578]|4[13-6]|5[4-8]?|6[1-357-9]|7[5-8]?|8[4-7]?|9[124])))15)?","9$1",,,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"] ,"0$1",""] -,[,"9(11)(\\d{4})(\\d{4})","$1 15-$2-$3",["91"] +,[,"(9)(11)(\\d{4})(\\d{4})","$2 15-$3-$4",["911"] ,"0$1",""] -,[,"9(\\d{3})(\\d{3})(\\d{4})","$1 15-$2-$3",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] +,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$2 15-$3-$4",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] ,"0$1",""] -,[,"9(\\d{4})(\\d{2})(\\d{4})","$1 15-$2-$3",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] +,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$2 15-$3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] ,"0$1",""] ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"] ,"0$1",""] @@ -428,19 +428,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,[[,"([68]\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[68]"] -,,""] -,[,"9(11)(\\d{4})(\\d{4})","9 $1 $2-$3",["91"] -,,""] -,[,"9(\\d{3})(\\d{3})(\\d{4})","9 $1 $2-$3",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] -,,""] -,[,"9(\\d{4})(\\d{2})(\\d{4})","9 $1 $2-$3",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] -,,""] +] +,[,"(9)(11)(\\d{4})(\\d{4})","$1 $2 $3-$4",["911"] +] +,[,"(9)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3-$4",["9(?:2[2369]|3[458])","9(?:2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578]))"] +] +,[,"(9)(\\d{4})(\\d{2})(\\d{4})","$1 $2 $3-$4",["9(?:2[2-469]|3[3-578])","9(?:2(?:2[24-9]|3[0-69]|47|6[25]|9[02-68])|3(?:3[28]|4[046-9]|5[2467]|7[1-578]|8[23469]))"] +] ,[,"(11)(\\d{4})(\\d{4})","$1 $2-$3",["1"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2-$3",["2(?:2[013]|37|6[14]|9[179])|3(?:4[1235]|5[138]|8[1578])"] -,,""] +] ,[,"(\\d{4})(\\d{2})(\\d{4})","$1 $2-$3",["[23]"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -478,7 +478,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"AU":[,[,,"[1-578]\\d{5,9}","\\d{6,10}"] -,[,,"[2378]\\d{8}","\\d{8,9}"] +,[,,"[237]\\d{8}|8(?:[68]\\d{3}|7[1-4]\\d{2}|9(?:[02-9]\\d{2}|1(?:[0-57-9]\\d|6[0135-9])))\\d{4}","\\d{8,9}"] ,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}"] ,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}"] ,[,,"190[0126]\\d{6}","\\d{10}"] @@ -499,23 +499,35 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,,[,,"NA","NA"] -,,,[,,"NA","NA"] +,1,,[,,"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}"] -,[,,"(?:5[69]\\d|660|9(?:6\\d|9[02-9])|7[34]\\d)\\d{4}","\\d{7}"] +,"AW":[,[,,"[25-9]\\d{6}","\\d{7}"] +,[,,"5(?:2\\d|8[1-9])\\d{4}","\\d{7}"] +,[,,"(?:5(?:6\\d|9[2-478])|6(?:[039]0|22|[46][01])|7[34]\\d|9(?:6[45]|9[4-8]))\\d{4}","\\d{7}"] ,[,,"800\\d{4}","\\d{7}"] ,[,,"900\\d{4}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] -,"AW",297,"00",,,,,,,,[[,"([5-9]\\d{2})(\\d{4})","$1 $2",,"",""] +,[,,"28\\d{5}|501\\d{4}","\\d{7}"] +,"AW",297,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] +,"AX":[,[,,"[135]\\d{5,9}|[27]\\d{4,9}|4\\d{5,10}|6\\d{7,8}|8\\d{6,9}","\\d{5,12}"] +,[,,"18[1-8]\\d{3,9}","\\d{6,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}"] +,[,,"NA","NA"] +,[,,"NA","NA"] +,[,,"NA","NA"] +,"AX",358,"00|99[049]","0",,,"0",,,,,,[,,"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{5,10}"] +] ,"AZ":[,[,,"[1-9]\\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|44\\d{2})\\d{5}","\\d{5,9}"] ,[,,"(?:[46]0|5[015]|7[07])\\d{7}","\\d{9}"] @@ -858,6 +870,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] +,"CC":[,[,,"[1458]\\d{5,9}","\\d{6,10}"] +,[,,"89162\\d{4}","\\d{8,9}"] +,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}"] +,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}"] +,[,,"190[0126]\\d{6}","\\d{10}"] +,[,,"NA","NA"] +,[,,"500\\d{6}","\\d{9}"] +,[,,"550\\d{6}","\\d{9}"] +,"CC",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",,,"0",,"0011",,,,[,,"NA","NA"] +,,,[,,"NA","NA"] +,[,,"NA","NA"] +] ,"CD":[,[,,"[89]\\d{8}|[1-6]\\d{6}","\\d{7,9}"] ,[,,"[1-6]\\d{6}","\\d{7}"] ,[,,"(?:8[0-2489]|9[7-9])\\d{7}","\\d{9}"] @@ -997,7 +1021,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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}"] -,[,,"1(?:3[0-9]|47|5[0135689]|8[05-9])\\d{8}","\\d{11}"] +,[,,"1(?:3\\d|4[57]|5[0-35-9]|8[025-9])\\d{8}","\\d{11}"] ,[,,"(?:10)?800\\d{7}","\\d{10,12}"] ,[,,"16[08]\\d{5}","\\d{8}"] ,[,,"NA","NA"] @@ -1022,22 +1046,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"] ,"",""] ] -,[[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"] -,,""] +,[[,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"] +] +,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"] +] +,[,"(21)(\\d{4})(\\d{4,6})","$1 $2 $3",["21"] +] ,[,"([12]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["10[1-9]|2[02-9]","10[1-9]|2[02-9]","10(?:[1-79]|8(?:[1-9]|0[1-9]))|2[02-9]"] -,,""] -,[,"(80\\d{2})(\\d{4})","$1 $2",["80[2678]"] -,,""] +] ,[,"(\\d{3})(\\d{4})(\\d{4})","$1 $2 $3",["3(?:11|7[159])|4[135]1|5(?:1|2[37]|3[12]|7[13-79]|9[15])|7(?:31|5[457]|6[09])|898"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:1[02-9]|35|49|5|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|6[1-6]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[04-9]|4[3-6]|6[2368])|8(?:1[236-8]|2[5-7]|[37]|5[1-9]|8[3678]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])"] -,,""] +] ,[,"(1[3-58]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["1[3-58]"] -,,""] -,[,"([48]00)(\\d{3})(\\d{4})","$1 $2 $3",["[48]00"] -,,""] +] ,[,"(10800)(\\d{3})(\\d{4})","$1 $2 $3",["108","1080","10800"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -1059,11 +1083,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"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"] @@ -1071,7 +1095,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"CR":[,[,,"[2489]\\d{7,9}","\\d{8,10}"] ,[,,"2[24-7]\\d{6}","\\d{8}"] -,[,,"8(?:[389]\\d|7[0-3])\\d{5}","\\d{8}"] +,[,,"8[36789]\\d{6}","\\d{8}"] ,[,,"800\\d{7}","\\d{10}"] ,[,,"90[059]\\d{7}","\\d{10}"] ,[,,"NA","NA"] @@ -1133,6 +1157,18 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] +,"CX":[,[,,"[1458]\\d{5,9}","\\d{6,10}"] +,[,,"89164\\d{4}","\\d{8,9}"] +,[,,"4(?:[0-2]\\d|3[0-57-9]|4[47-9]|5[0-37-9]|6[6-9]|7[07-9]|8[7-9])\\d{6}","\\d{9}"] +,[,,"1(?:80(?:0\\d{2})?|3(?:00\\d{2})?)\\d{4}","\\d{6,10}"] +,[,,"190[0126]\\d{6}","\\d{10}"] +,[,,"NA","NA"] +,[,,"500\\d{6}","\\d{9}"] +,[,,"550\\d{6}","\\d{9}"] +,"CX",61,"(?:14(?:1[14]|34|4[17]|[56]6|7[47]|88))?001[14-689]","0",,,"0",,"0011",,,,[,,"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}"] ,[,,"60[1-8]\\d{6}|7[2379]\\d{7}","\\d{9}"] @@ -1204,7 +1240,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"DM":[,[,,"[57-9]\\d{9}","\\d{7}(?:\\d{3})?"] ,[,,"767(?:2(?:55|66)|4(?:2[01]|4[0-25-9])|50[0-4])\\d{4}","\\d{7}(?:\\d{3})?"] -,[,,"767(?:2(?:[2346]5|7[5-7])|31[5-7]|61[4-6])\\d{4}","\\d{10}"] +,[,,"767(?:2(?:[2346]5|7[5-7])|31[5-7]|61[4-7])\\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"] @@ -1261,11 +1297,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"$1",""] ] ,[[,"(\\d)(\\d{3})(\\d{4})","$1-$2-$3",["[2-7]"] -,,""] +] ,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["[89]"] -,,""] +] ,[,"(1800)(\\d{3})(\\d{3,4})","$1 $2 $3",["1"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -1341,7 +1377,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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}"] -,[,,"91[0-8]\\d{6}","\\d{9}"] +,[,,"9[12]\\d{7}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -1354,7 +1390,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"FI":[,[,,"1\\d{4,11}|[2-9]\\d{4,10}","\\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}"] +,[,,"1(?:[3569][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}"] @@ -1369,12 +1405,12 @@ 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}"] +,1,,[,,"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{5,10}"] ] ,"FJ":[,[,,"[36-9]\\d{6}|0\\d{10}","\\d{7}(?:\\d{4})?"] ,[,,"(?:3[0-5]|6[25-7]|8[58])\\d{5}","\\d{7}"] -,[,,"(?:7[0-4]|9[29])\\d{5}","\\d{7}"] +,[,,"(?:7[0-4]|9[27-9])\\d{5}","\\d{7}"] ,[,,"0800\\d{7}","\\d{11}"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -1551,7 +1587,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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}"] -,[,,"2(?:(?:[47]\\d|08)\\d{6}|[368]\\d{7})|54\\d{7}","\\d{9}"] +,[,,"(?:2[034678]|54)\\d{7}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -1915,30 +1951,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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\\d{7,11}|[2-9]\\d{9,10}","\\d{6,12}"] -,[,,"(?: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}"] -,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[568]|9[39])|3(?:07|7[3679]|9[689])|4(?:05|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5]|[47]9|50|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[67]|9[6-9])|7(?:0[289]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7[015689]|9[0357-9]))\\d|9\\d{4}|8(?:(?:0[01589]|1[24]|2[2369]|4[023458]|52|6[0589]|7[2569])\\d|8(?:[079]\\d|44)|9[057-9]\\d)\\d)\\d{5}","\\d{10}"] +,[,,"(?:11|2[02]|33|4[04]|79)[2-6]\\d{7}|80[2-46]\\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}"] +,[,,"(?:7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[134679]|5[0-489]|7[3679]|8[3-9]|9[689])|4(?:0[4579]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|[39][5-9]|42|60)|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7\\d|9[013-9]))|8(?:0[01589]\\d|1(?:[024]\\d|15|30|7[19]|97)|2(?:[2369]\\d|52|7[0135]|8[67])|3(?:0[235-8]|4[179]|74|90)|4(?:[02-58]\\d|10|6[09])|5(?:0[079]|[19]1|2\\d|30|4[47]|53|7[45])|6(?:[0589]\\d|7[09])|7(?:1[24]|[2569]\\d)|8(?:[07-9]\\d|17|2[024-8]|44|5[389]|6[0167])|9(?:[057-9]\\d|2[35-9]|3[09]|4[038]|6[0-27-9]))|9\\d{3})\\d{6}","\\d{10}"] ,[,,"1(?:600\\d{6}|800\\d{4,8})","\\d{8,12}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|39|4[0-389]|5[04-9]|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8[0479]|9[057-9])|9","7(?:2[0579]|39|4[0-389]|5(?:0[0-5]|49|50|[6-9])|6|7[02-9]|8[0-79])|8(?:0[01589]|1[024]|8(?:[079]|44)|9[057-9])|9"] +,"IN",91,"00","0",,,"0",,,,[[,"(\\d{2})(\\d{2})(\\d{6})","$1 $2 $3",["7(?:2[0579]|3[057-9]|4[0-389]|5[024-9]|6[0-35-9]|7[03469]|8[0-4679])|8(?:0[01589]|1[0-479]|2[236-9]|3[0479]|4[0-68]|5[0-579]6[05789]7[12569]|8[0124-9]|9[02-9])|9","7(?:2(?:0[04-9]|5[09]|7[5-8]|9[389])|3(?:0[134679]|5[0-489]|7[3679]|8[3-9]|9[689])|4(?:0[4579]|1[15-9]|[29][89]|39|8[389])|5(?:0[0-5789]|[47]9|[25]0|6[6-9]|[89][7-9])|6(?:0[027]|12|20|3[19]|5[45]|6[5-9]|7[679]|9[6-9])|7(?:0[27-9]|3[5-9]|42|60|9[5-9])|8(?:[03][07-9]|14|2[7-9]|4[25]|6[09]|7|9[013-9]))|8(?:0[01589]|1(?:[024]|15|30|7[19]|97)|2(?:[2369]|7[0135]|8[67])|3(?:0[235-8]|4[179]|74|90)|4(?:[02-58]|10|6[09])|5(?:0[079]|[19]1|2|30|4[47]|53|7[45])|6(?:[0589]|70)|7(?:1[24]|[2569])|8(?:[07-9]|17|2[024-8]|44|5[389]|6[0167])|9(?:[057-9]|2[35-9]|3[09]|4[038]|6[0-27-9]))|9"] ,"0$1",""] -,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-6]"] +,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2 $3",["11|2[02]|33|4[04]|79|80[2-46]"] ,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])"] +,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["1(?:2[0-249]|3[0-25]|4[145]|[569][14]|7[1257]|8[1346]|[68][1-9])|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)"] ,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568]|9[14])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["4(?:1[36]|2[1-47]|3[15]|5[12]|6[126-9]|7[0-24-9]|8[013-57]|9[014-7])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["5(?:[136][25]|22|4[28]|5[12]|[78]1|9[15])"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["6(?:12|[2345]1|57|6[13]|7[14]|80)"] -,"0$1",""] -,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)","7(?:12|2[14]|3[134]|4[47]|5(?:1|5[1-9])|[67]1|88)"] +,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["7(?:12|2[14]|3[134]|4[47]|5[15]|[67]1|88)","7(?:12|2[14]|3[134]|4[47]|5(?:1|5[2-6])|[67]1|88)"] ,"0$1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)"] ,"0$1",""] @@ -2098,15 +2124,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"JP":[,[,,"\\d{9,10}","\\d{9,10}"] ,[,,"(?: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}"] +,[,,"(?:[79]0\\d|80[1-9])\\d{7}","\\d{10}"] +,[,,"120\\d{6}|800\\d{7}","\\d{9,10}"] ,[,,"990\\d{6}","\\d{9}"] ,[,,"NA","NA"] ,[,,"60\\d{7}","\\d{9}"] ,[,,"50\\d{8}","\\d{10}"] -,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|99)0"] +,"JP",81,"010","0",,,"0",,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1-$2-$3",["(?:12|57|99)0"] +,"0$1",""] +,[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",["800"] ,"0$1",""] -,[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[57-9]0"] +,[,"(\\d{2})(\\d{4})(\\d{4})","$1-$2-$3",["[2579]0|80[1-9]"] ,"0$1",""] ,[,"(\\d{4})(\\d)(\\d{4})","$1-$2-$3",["1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|5(?:76|97)|499|746|8(?:3[89]|63|47|51)|9(?:49|80|9[16])","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:76|97)9|499[2468]|7468|8(?:3(?:8[78]|96)|636|477|51[24])|9(?:496|802|9(?:1[23]|69))","1(?:267|3(?:7[247]|9[278])|4(?:5[67]|66)|5(?:47|58|64|8[67])|6(?:3[245]|48|5[4-68]))|5(?:769|979[2-69])|499[2468]|7468|8(?:3(?:8[78]|96[2457-9])|636[2-57-9]|477|51[24])|9(?:496|802|9(?:1[23]|69))"] ,"0$1",""] @@ -2118,16 +2146,16 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ,[,"(\\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]"] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1-$2-$3",["[2479][1-9]"] ,"0$1",""] ] -,,[,,"NA","NA"] +,,[,,"20\\d{8}","\\d{10}"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"570\\d{6}","\\d{9}"] ] ,"KE":[,[,,"\\d{6,10}","\\d{4,10}"] ,[,,"(?:20|4[0-6]|5\\d|6[0-24-9])\\d{4,7}","\\d{4,9}"] -,[,,"7(?:1[0-6]|2\\d|3[2-8]|5[0-2]|7[023])\\d{6}","\\d{9}"] +,[,,"7(?:0[0-3]|[123]\\d|5[0-3]|7[0-4])\\d{6}","\\d{9}"] ,[,,"8(?:00|88)\\d{6,7}","\\d{9,10}"] ,[,,"9(?:00|1)\\d{6,7}","\\d{8,10}"] ,[,,"NA","NA"] @@ -2190,11 +2218,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"KM":[,[,,"[37]\\d{6}","\\d{7}"] +,"KM":[,[,,"[379]\\d{6}","\\d{7}"] ,[,,"7(?:6[0-37-9]|7[0-57-9])\\d{4}","\\d{7}"] ,[,,"3[23]\\d{5}","\\d{7}"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"(?:39[01]|9[01]0)\\d{4}","\\d{7}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -2205,8 +2233,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"KN":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"869(?:2(?:29|36)|4(?:6[5-9]|70))\\d{4}","\\d{7}(?:\\d{3})?"] -,[,,"869(?:5(?:5[6-8]|6[5-7])|66[2-9]|76[2-5])\\d{4}","\\d{10}"] +,[,,"869(?:2(?:29|36)|302|4(?:6[5-9]|70))\\d{4}","\\d{7}(?:\\d{3})?"] +,[,,"869(?:5(?:5[6-8]|6[5-7])|66\\d|76[02-6])\\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"] @@ -2388,18 +2416,20 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] -,"LR":[,[,,"(?:[279]\\d|[4-6])\\d{6}","\\d{7,8}"] +,"LR":[,[,,"(?:[279]\\d|[4-6]|[38]\\d{2})\\d{6}","\\d{7,9}"] ,[,,"2\\d{7}","\\d{8}"] -,[,,"(?:4[67]|5\\d|6[4-8]|7\\d{2})\\d{5}","\\d{7,8}"] +,[,,"(?:4[67]|5\\d|6[4-8]|7\\d{2}|880\\d)\\d{5}","\\d{7,9}"] ,[,,"NA","NA"] ,[,,"90\\d{6}","\\d{8}"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"33200\\d{4}","\\d{9}"] ,"LR",231,"00","0",,,"0",,,,[[,"([279]\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[279]"] ,"0$1",""] ,[,"([4-6])(\\d{3})(\\d{3})","$1 $2 $3",["[4-6]"] ,"0$1",""] +,[,"(\\d{2})(\\d{3})(\\d{4})","$1 $2 $3",["[38]"] +,"0$1",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -2539,22 +2569,22 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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}"] -,[,,"(?:6(?:50|7[12]|[89]\\d)|7(?:80|9\\d))\\d{5}","\\d{8}"] +,[,,"(?:6(?:0[0-3]|50|7[12]|[89]\\d)|7(?:80|9\\d))\\d{5}","\\d{8}"] ,[,,"800\\d{5}","\\d{8}"] -,[,,"900\\d{5}","\\d{8}"] -,[,,"NA","NA"] +,[,,"90[056]\\d{5}","\\d{8}"] +,[,,"808\\d{5}","\\d{8}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,"MD",373,"00","0",,,"0",,,,[[,"(22)(\\d{3})(\\d{3})","$1 $2 $3",["22"] ,"0$1",""] ,[,"([25-7]\\d{2})(\\d{2})(\\d{3})","$1 $2 $3",["2[13-79]|[5-7]"] ,"0$1",""] -,[,"([89]00)(\\d{5})","$1 $2",["[89]"] +,[,"([89]\\d{2})(\\d{5})","$1 $2",["[89]"] ,"0$1",""] ] ,,[,,"NA","NA"] ,,,[,,"NA","NA"] -,[,,"NA","NA"] +,[,,"8(?:03|14)\\d{5}","\\d{8}"] ] ,"ME":[,[,,"[2-9]\\d{7,8}","\\d{6,9}"] ,[,,"(?:20[2-8]|3(?:0[2-7]|1[35-7]|2[367]|3[4-7])|4(?:0[237]|1[2467])|5(?:0[47]|1[27]|2[378]))\\d{5}","\\d{6,8}"] @@ -2718,15 +2748,17 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,,"670",[,,"NA","NA"] ,[,,"NA","NA"] ] -,"MQ":[,[] -,[] -,[] +,"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}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"MQ",596,"00","0",,,"0",,,1,,,[,,"NA","NA"] +,"MQ",596,"00","0",,,"0",,,,[[,"(\\d{3})(\\d{2})(\\d{2})(\\d{2})","$1 $2 $3 $4",,"0$1",""] +] +,,[,,"NA","NA"] ,,,[,,"NA","NA"] ,[,,"NA","NA"] ] @@ -2834,19 +2866,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"01 $1",""] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[12457-9]|5[89]|8[02-9]|9[0-35-9]"] ,"01 $1",""] -,[,"1([358]\\d)(\\d{4})(\\d{4})","045 $1 $2 $3",["1(?:33|55|81)"] +,[,"(1)([358]\\d)(\\d{4})(\\d{4})","045 $2 $3 $4",["1(?:33|55|81)"] ,"$1",""] -,[,"1(\\d{3})(\\d{3})(\\d{4})","045 $1 $2 $3",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"] +,[,"(1)(\\d{3})(\\d{3})(\\d{4})","045 $2 $3 $4",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"] ,"$1",""] ] ,[[,"([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3",["33|55|81"] -,,""] +] ,[,"(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3",["[2467]|3[12457-9]|5[89]|8[02-9]|9[0-35-9]"] -,,""] +] ,[,"(1)([358]\\d)(\\d{4})(\\d{4})","$1 $2 $3 $4",["1(?:33|55|81)"] -,,""] +] ,[,"(1)(\\d{3})(\\d{3})(\\d{4})","$1 $2 $3 $4",["1(?:[2467]|3[12457-9]|5[89]|8[2-9]|9[1-35-9])"] -,,""] +] ] ,[,,"NA","NA"] ,,,[,,"NA","NA"] @@ -3036,19 +3068,19 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1,,[,,"NA","NA"] ,[,,"0\\d{4}|81(?:0(?:0[7-9]|1\\d)|5\\d{2})\\d{3}","\\d{5}(?:\\d{3})?"] ,1] -,"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}"] -,[,,"98[45]\\d{7}","\\d{10}"] +,"NP":[,[,,"[1-8]\\d{7}|9(?:[1-69]\\d{6}|7[2-6]\\d{5,7}|8\\d{8})","\\d{6,10}"] +,[,,"(?:1[0124-6]|2[13-79]|3[135-8]|4[146-9]|5[135-7]|6[13-9]|7[15-9]|8[1-46-9]|9[1-79])\\d{6}","\\d{6,8}"] +,[,,"9(?:7[45]|8[0145])\\d{7}","\\d{10}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] -,"NP",977,"00","0",,,"0",,,,[[,"(1)([4-6]\\d{3})(\\d{3})","$1 $2 $3",["1[4-6]"] +,"NP",977,"00","0",,,"0",,,,[[,"(1)(\\d{7})","$1-$2",["1[2-6]"] ,"0$1",""] -,[,"(\\d{2})(\\d{3})(\\d{3})","$1 $2 $3",["1[01]|[2-8]|9[1-79]"] +,[,"(\\d{2})(\\d{6})","$1-$2",["1[01]|[2-8]|9(?:[1-69]|7[15-9])"] ,"0$1",""] -,[,"(98[45])(\\d{3})(\\d{4})","$1 $2 $3",["98"] +,[,"(9\\d{2})(\\d{7})","$1-$2",["9(?:7[45]|8)"] ,"0$1",""] ] ,,[,,"NA","NA"] @@ -3185,7 +3217,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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}"] -,[,,"9(?:0[5-9]|1[025-9]|2[0-36-9]|3[0235-9]|7[349]|[89]9)\\d{7}","\\d{10}"] +,[,,"9(?:0[5-9]|1[025-9]|2[0-36-9]|3[0235-9]|4[89]|7[349]|89|9[49])\\d{7}","\\d{10}"] ,[,,"1800\\d{7,9}","\\d{11,13}"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -3476,16 +3508,16 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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}"] -,[,,"(?:5(?:[1247-9]\\d|6[3-9])|7(?:[14679]\\d|2[1-9]|8[24-79]))\\d{3}","\\d{6}"] +,[,,"(?:2?(?:55[0-5]|78[013])|4?(?:2(?:1[78]|2[14-69]|3[2-4]|4[1-36-8]|6[167]|[89]\\d)|3(?:0[34]|2[1-6]|4[4-6]|55|6[016]|7\\d|8[0-589]|9[0-5])|6(?:0[0-256]|1[0-478]|2[145]|3[02-4]|4[124]|6[015]|7\\d|8[1-3])))\\d{3}","\\d{6,7}"] +,[,,"2?(?:5(?:[0-46-9]\\d|5[6-9])|7(?:[0-79]\\d|8[24-9]))\\d{3}","\\d{6,7}"] ,[,,"8000\\d{2}","\\d{6}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"(?:44[1-3]|647)\\d{4}","\\d{7}"] -,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",["[23578]|[46][0-35-9]"] +,"SC",248,"0[0-2]",,,,,,"00",,[[,"(\\d{3})(\\d{3})","$1 $2",["[3578]|2[1-4689]|6(?:[0-35-9]|4[0-689])"] ,"",""] -,[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["[46]4"] +,[,"(\\d)(\\d{3})(\\d{3})","$1 $2 $3",["2[57]|4[2-46]|647"] ,"",""] ] ,,[,,"NA","NA"] @@ -3507,7 +3539,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"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}"] +,[,,"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[0-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}"] ,[,,"7[02-46]\\d{7}","\\d{9}"] ,[,,"20\\d{4,7}","\\d{6,9}"] ,[,,"9(?:00|39|44)\\d{7}","\\d{10}"] @@ -3532,21 +3564,21 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"0$1",""] ] ,[[,"(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"] @@ -3667,11 +3699,11 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"",""] ] ,[[,"(\\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"] @@ -3679,7 +3711,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1] ,"SN":[,[,,"[37]\\d{8}","\\d{9}"] ,[,,"3(?:010|3(?:8[1-9]|9[2-9]))\\d{5}","\\d{9}"] -,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[6-9]|7[45]|8[3-8])|7(?:1[014-8]|2[0-7]|3[0-35-8]|4[0-6]|[56]\\d|7[0-589]|8[01]|9[0-6]))\\d{5}","\\d{9}"] +,[,,"7(?:0[1256]0|6(?:1[23]|2[89]|3[3489]|4[6-9]|5[1-389]|6[5-9]|7[45]|8[3-8])|7(?:01|1[014-8]|[2-79]\\d|8[019]))\\d{5}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -3755,7 +3787,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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}"] -,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[19])\\d{6}","\\d{9}"] +,[,,"9(?:3[23]|4[457]|55|6[67]|88|9[1-49])\\d{6}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] ,[,,"NA","NA"] @@ -4045,7 +4077,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"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}"] -,[,,"7(?:[1578]\\d|0[0-4])\\d{6}","\\d{9}"] +,[,,"7(?:[15789]\\d|0[0-4])\\d{6}","\\d{9}"] ,[,,"800[123]\\d{5}","\\d{9}"] ,[,,"90[123]\\d{6}","\\d{9}"] ,[,,"NA","NA"] @@ -4073,7 +4105,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,"US",1,"011","1",,,"1",,,1,[[,"(\\d{3})(\\d{3})(\\d{4})","($1) $2-$3",,"",""] ,[,"(\\d{3})(\\d{4})","$1-$2",,"",""] ] -,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3",,,""] +,[[,"(\\d{3})(\\d{3})(\\d{4})","$1-$2-$3"] ] ,[,,"NA","NA"] ,1,,[,,"NA","NA"] @@ -4121,7 +4153,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,1] ,"VC":[,[,,"[5789]\\d{9}","\\d{7}(?:\\d{3})?"] ,[,,"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}(?:\\d{3})?"] -,[,,"784(?:4(?:3[0-24]|5[45]|9[2-5])|5(?:2[6-9]|3[0-3]|93))\\d{4}","\\d{10}"] +,[,,"784(?:4(?:3[0-4]|5[45]|9[2-5])|5(?:2[6-9]|3[0-4]|93))\\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"] @@ -4158,8 +4190,8 @@ i18n.phonenumbers.metadata.countryToMetadata = { ,[,,"NA","NA"] ] ,"VI":[,[,,"[3589]\\d{9}","\\d{7}(?:\\d{3})?"] -,[,,"340(?:6[49]2|7[17]\\d)\\d{4}","\\d{7}(?:\\d{3})?"] -,[,,"340(?:6[49]2|7[17]\\d)\\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[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})?"] ,[,,"8(?:00|55|66|77|88)[2-9]\\d{6}","\\d{10}"] ,[,,"900[2-9]\\d{6}","\\d{10}"] ,[,,"NA","NA"] @@ -4287,7 +4319,7 @@ i18n.phonenumbers.metadata.countryToMetadata = { ] ,"ZM":[,[,,"[289]\\d{8}","\\d{9}"] ,[,,"21[1-8]\\d{6}","\\d{9}"] -,[,,"9(?:55|6[4-9]|7[4-9])\\d{6}","\\d{9}"] +,[,,"9(?:55|6[3-9]|7[4-9])\\d{6}","\\d{9}"] ,[,,"800\\d{6}","\\d{9}"] ,[,,"NA","NA"] ,[,,"NA","NA"] diff --git a/javascript/i18n/phonenumbers/phonenumberutil.js b/javascript/i18n/phonenumbers/phonenumberutil.js index f3d705192..153cd7212 100644 --- a/javascript/i18n/phonenumbers/phonenumberutil.js +++ b/javascript/i18n/phonenumbers/phonenumberutil.js @@ -23,6 +23,9 @@ * @author Nikolaos Trogkanis */ +goog.provide('i18n.phonenumbers.Error'); +goog.provide('i18n.phonenumbers.PhoneNumberFormat'); +goog.provide('i18n.phonenumbers.PhoneNumberType'); goog.provide('i18n.phonenumbers.PhoneNumberUtil'); goog.require('goog.array'); @@ -663,11 +666,15 @@ i18n.phonenumbers.PhoneNumberUtil.NON_DIGITS_PATTERN_ = /\D+/; /** + * This was originally set to $1 but there are some countries for which the + * first group is not used in the national pattern (e.g. Argentina) so the $1 + * group does not match correctly. Therefore, we use \d, so that the first + * group actually used in the pattern will be matched. * @const * @type {!RegExp} * @private */ -i18n.phonenumbers.PhoneNumberUtil.FIRST_GROUP_PATTERN_ = /(\$1)/; +i18n.phonenumbers.PhoneNumberUtil.FIRST_GROUP_PATTERN_ = /(\$\d)/; /** @@ -1021,7 +1028,7 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getLengthOfGeographicalAreaCode = * * * Refer to the unittests to see the difference between this function and - * getLengthOfGeographicalAreaCode(). + * {@link #getLengthOfGeographicalAreaCode}. * * @param {i18n.phonenumbers.PhoneNumber} number the PhoneNumber object for * which clients want to know the length of the NDC. @@ -1809,6 +1816,10 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getExampleNumber = i18n.phonenumbers.PhoneNumberUtil.prototype.getExampleNumberForType = function(regionCode, type) { + // Check the region code is valid. + if (!this.isValidRegionCode_(regionCode)) { + return null; + } /** @type {i18n.phonenumbers.PhoneNumberDesc} */ var desc = this.getNumberDescByType_( this.getMetadataForRegion(regionCode), type); @@ -2203,9 +2214,6 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getCountryCodeForRegion = } /** @type {i18n.phonenumbers.PhoneMetadata} */ var metadata = this.getMetadataForRegion(regionCode); - if (metadata == null) { - return 0; - } return metadata.getCountryCodeOrDefault(); }; @@ -2236,9 +2244,6 @@ i18n.phonenumbers.PhoneNumberUtil.prototype.getNddPrefixForRegion = function( } /** @type {i18n.phonenumbers.PhoneMetadata} */ var metadata = this.getMetadataForRegion(regionCode); - if (metadata == null) { - return null; - } /** @type {string} */ var nationalPrefix = metadata.getNationalPrefixOrDefault(); // If no national prefix was found, we return null. @@ -2792,9 +2797,11 @@ i18n.phonenumbers.PhoneNumberUtil.prototype. var transformRule = metadata.getNationalPrefixTransformRule(); /** @type {string} */ var transformedNumber; - if (transformRule == null || transformRule.length == 0 || - prefixMatcher[numOfGroups] == null || - prefixMatcher[numOfGroups].length == 0) { + /** @type {boolean} */ + var noTransform = transformRule == null || transformRule.length == 0 || + prefixMatcher[numOfGroups] == null || + prefixMatcher[numOfGroups].length == 0; + if (noTransform) { transformedNumber = numberStr.substring(prefixMatcher[0].length); } else { transformedNumber = numberStr.replace(prefixPattern, transformRule); @@ -2804,7 +2811,8 @@ i18n.phonenumbers.PhoneNumberUtil.prototype. transformedNumber)) { return carrierCode; } - if (numOfGroups > 0) { + if ((noTransform && numOfGroups > 0 && prefixMatcher[1] != null) || + (!noTransform && numOfGroups > 1)) { carrierCode = prefixMatcher[1]; } number.clear(); diff --git a/javascript/i18n/phonenumbers/phonenumberutil_test.js b/javascript/i18n/phonenumbers/phonenumberutil_test.js index caa11b111..8942460c7 100644 --- a/javascript/i18n/phonenumbers/phonenumberutil_test.js +++ b/javascript/i18n/phonenumbers/phonenumberutil_test.js @@ -104,6 +104,31 @@ IT_NUMBER.setNationalNumber(236618300); IT_NUMBER.setItalianLeadingZero(true); +// Numbers to test the formatting rules from Mexico. +/** @type {i18n.phonenumbers.PhoneNumber} */ +var MX_MOBILE1 = new i18n.phonenumbers.PhoneNumber(); +MX_MOBILE1.setCountryCode(52); +MX_MOBILE1.setNationalNumber(12345678900); + + +/** @type {i18n.phonenumbers.PhoneNumber} */ +var MX_MOBILE2 = new i18n.phonenumbers.PhoneNumber(); +MX_MOBILE2.setCountryCode(52); +MX_MOBILE2.setNationalNumber(15512345678); + + +/** @type {i18n.phonenumbers.PhoneNumber} */ +var MX_NUMBER1 = new i18n.phonenumbers.PhoneNumber(); +MX_NUMBER1.setCountryCode(52); +MX_NUMBER1.setNationalNumber(3312345678); + + +/** @type {i18n.phonenumbers.PhoneNumber} */ +var MX_NUMBER2 = new i18n.phonenumbers.PhoneNumber(); +MX_NUMBER2.setCountryCode(52); +MX_NUMBER2.setNationalNumber(8211234567); + + /** @type {i18n.phonenumbers.PhoneNumber} */ var NZ_NUMBER = new i18n.phonenumbers.PhoneNumber(); NZ_NUMBER.setCountryCode(64); @@ -237,8 +262,8 @@ function testGetInstanceLoadARMetadata() { assertEquals('0', metadata.getNationalPrefix()); assertEquals('0(?:(11|343|3715)15)?', metadata.getNationalPrefixForParsing()); assertEquals('9$1', metadata.getNationalPrefixTransformRule()); - assertEquals('$1 15 $2-$3', metadata.getNumberFormat(2).getFormat()); - assertEquals('9(\\d{4})(\\d{2})(\\d{4})', + assertEquals('$2 15 $3-$4', metadata.getNumberFormat(2).getFormat()); + assertEquals('(9)(\\d{4})(\\d{2})(\\d{4})', metadata.getNumberFormat(3).getPattern()); assertEquals('(9)(\\d{4})(\\d{2})(\\d{4})', metadata.getIntlNumberFormat(3).getPattern()); @@ -345,6 +370,8 @@ function testGetExampleNumber() { assertNotNull( phoneUtil.getExampleNumberForType(RegionCode.US, PNT.FIXED_LINE)); assertNotNull(phoneUtil.getExampleNumberForType(RegionCode.US, PNT.MOBILE)); + // CS is an invalid region, so we have no data for it. + assertNull(phoneUtil.getExampleNumberForType(RegionCode.CS, PNT.MOBILE)); } function testNormaliseRemovePunctuation() { @@ -549,6 +576,37 @@ function testFormatARNumber() { phoneUtil.format(AR_MOBILE, PNF.E164)); } +function testFormatMXNumber() { + var PNF = i18n.phonenumbers.PhoneNumberFormat; + assertEquals('045 234 567 8900', + phoneUtil.format(MX_MOBILE1, PNF.NATIONAL)); + assertEquals('+52 1 234 567 8900', + phoneUtil.format(MX_MOBILE1, PNF.INTERNATIONAL)); + assertEquals('+5212345678900', + phoneUtil.format(MX_MOBILE1, PNF.E164)); + + assertEquals('045 55 1234 5678', + phoneUtil.format(MX_MOBILE2, PNF.NATIONAL)); + assertEquals('+52 1 55 1234 5678', + phoneUtil.format(MX_MOBILE2, PNF.INTERNATIONAL)); + assertEquals('+5215512345678', + phoneUtil.format(MX_MOBILE2, PNF.E164)); + + assertEquals('01 33 1234 5678', + phoneUtil.format(MX_NUMBER1, PNF.NATIONAL)); + assertEquals('+52 33 1234 5678', + phoneUtil.format(MX_NUMBER1, PNF.INTERNATIONAL)); + assertEquals('+523312345678', + phoneUtil.format(MX_NUMBER1, PNF.E164)); + + assertEquals('01 821 123 4567', + phoneUtil.format(MX_NUMBER2, PNF.NATIONAL)); + assertEquals('+52 821 123 4567', + phoneUtil.format(MX_NUMBER2, PNF.INTERNATIONAL)); + assertEquals('+528211234567', + phoneUtil.format(MX_NUMBER2, PNF.E164)); +} + function testFormatOutOfCountryCallingNumber() { assertEquals('00 1 900 253 0000', phoneUtil.formatOutOfCountryCallingNumber(US_PREMIUM, RegionCode.DE));