From 248693b56eb32a34378199e645196810fab953e7 Mon Sep 17 00:00:00 2001 From: Joshua Gigg Date: Mon, 15 Apr 2019 18:33:34 +0100 Subject: [PATCH 1/2] Upstream metadata changes from Google for v8.10.9 - Updated alternate formatting data for country calling code(s): 380, 44, 49 - Updated phone metadata for region code(s): AU, BD, CC, CN, CX, EC, ID, PE - Updated carrier data for country calling code(s): 51 (en), 593 (en) --- METADATA-VERSION.txt | 2 +- src/carrier/data/en/51.php | 1 - src/carrier/data/en/593.php | 1 + src/data/PhoneNumberAlternateFormats_380.php | 4 +- src/data/PhoneNumberAlternateFormats_44.php | 2 +- src/data/PhoneNumberAlternateFormats_49.php | 94 +++++++++---- src/data/PhoneNumberMetadata_AU.php | 8 +- src/data/PhoneNumberMetadata_BD.php | 2 +- src/data/PhoneNumberMetadata_CC.php | 2 +- src/data/PhoneNumberMetadata_CN.php | 62 +++------ src/data/PhoneNumberMetadata_CX.php | 2 +- src/data/PhoneNumberMetadata_EC.php | 2 +- src/data/PhoneNumberMetadata_ID.php | 131 ++++++++++++++++++- src/data/PhoneNumberMetadata_PE.php | 2 +- 14 files changed, 227 insertions(+), 88 deletions(-) diff --git a/METADATA-VERSION.txt b/METADATA-VERSION.txt index f34a5dd74..e53d5cfba 100644 --- a/METADATA-VERSION.txt +++ b/METADATA-VERSION.txt @@ -2,4 +2,4 @@ # It can be a commit, branch or tag of the https://github.com/googlei18n/libphonenumber project # # For more information, look at the phing tasks in build.xml -v8.10.8 +v8.10.9 diff --git a/src/carrier/data/en/51.php b/src/carrier/data/en/51.php index a39dfbb08..a91fe8126 100644 --- a/src/carrier/data/en/51.php +++ b/src/carrier/data/en/51.php @@ -36,7 +36,6 @@ 511987 => 'Claro', 511988 => 'Movistar', 511989 => 'Claro', - 511990 => 'Movistar', 511991 => 'Claro', 511992 => 'Claro', 511993 => 'Claro', diff --git a/src/carrier/data/en/593.php b/src/carrier/data/en/593.php index 4c009ca77..28cbcb7af 100644 --- a/src/carrier/data/en/593.php +++ b/src/carrier/data/en/593.php @@ -30,6 +30,7 @@ 5939628 => 'Movistar', 5939629 => 'Movistar', 593963 => 'Movistar', + 593964 => 'Movistar', 593967 => 'Claro', 593968 => 'Claro', 593969 => 'Claro', diff --git a/src/data/PhoneNumberAlternateFormats_380.php b/src/data/PhoneNumberAlternateFormats_380.php index bc568c1f3..7b2d8a22c 100644 --- a/src/data/PhoneNumberAlternateFormats_380.php +++ b/src/data/PhoneNumberAlternateFormats_380.php @@ -24,7 +24,7 @@ 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[38]9|4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|9[1-9]|(?:48|57)[0137-9]', + 0 => '4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -36,7 +36,7 @@ 'format' => '$1 $2 $3 $4', 'leadingDigitsPatterns' => array ( - 0 => '[38]9|4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|9[1-9]|(?:48|57)[0137-9]', + 0 => '4[45][0-5]|5(?:0|6(?:3[14-7]|7))|6(?:[12][018]|[36-8])|7|89|9[1-9]|(?:48|57)[0137-9]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/src/data/PhoneNumberAlternateFormats_44.php b/src/data/PhoneNumberAlternateFormats_44.php index 1bf927a73..b6637e338 100644 --- a/src/data/PhoneNumberAlternateFormats_44.php +++ b/src/data/PhoneNumberAlternateFormats_44.php @@ -60,7 +60,7 @@ 'format' => '$1 $2 $3', 'leadingDigitsPatterns' => array ( - 0 => '1(?:[2-69][02-9]|[78])|7(?:[1-57-9]|624)', + 0 => '1(?:[2-69][02-9]|[78])|3|7(?:[1-57-9]|624)', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', diff --git a/src/data/PhoneNumberAlternateFormats_49.php b/src/data/PhoneNumberAlternateFormats_49.php index f78766472..9ae09a0b3 100644 --- a/src/data/PhoneNumberAlternateFormats_49.php +++ b/src/data/PhoneNumberAlternateFormats_49.php @@ -36,7 +36,7 @@ 'format' => '$1 $2 $3 $4 $5', 'leadingDigitsPatterns' => array ( - 0 => '[34]0|[68]9', + 0 => '2(?:0[4-6]|1(?:[035-9]|29)|3[0235-9]|7[2-7])|3(?:0|3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]))|4[01]|50|6[09]|7(?:0|8[02-5]|9[03-7])|8(?:3[02-46-9]|5[03-9]|6[2-8]|8[024-6]|9)|9(?:0[7-9]|7[02-467])|(?:45|84)[02-6]|3(?:83|99)[1468]|3[68]4[1347]|3(?:47|60)[1356]|(?:66|71|80)[2-9]|3(?:3[46]|46|5[49])[1246]|(?:22|47|81)[02-79]|3[4579]3[1357]|(?:28|49|5[79]|7[27]|9[589])[02-7]|(?:2[569]|4[2-48]|5[124-6]|6[1-358]|73|82|9[1-4])[02-9]|(?:24|[49]6|5[38]|6[47]|7[4-6]|87)[02-8]', ), 'nationalPrefixFormattingRule' => '', 'domesticCarrierCodeFormattingRule' => '', @@ -187,6 +187,54 @@ 'nationalPrefixOptionalWhenFormatting' => false, ), 14 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '2(?:0[4-6]|1(?:[035-9]|29)|3[0235-9]|7[2-7])|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]))|41|66[2-9]|7(?:1[2-9]|8[02-5]|9[03-7])|8(?:3[02-46-9]|5[03-9]|6[2-8]|8[024-6])|9(?:0[7-9]|7[02-467])|[5-8]0|(?:45|84)[02-6]|3(?:83|99)[1468]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|(?:22|47|81)[02-79]|3[4579]3[1357]|(?:28|49|5[79]|7[27]|9[589])[02-7]|(?:2[569]|4[2-48]|5[124-6]|6[1-358]|73|82|9[1-4])[02-9]|(?:24|[49]6|5[38]|6[47]|7[4-6]|87)[02-8]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 15 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d)(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4 $5', + 'leadingDigitsPatterns' => + array ( + 0 => '2(?:0[4-6]|1(?:[035-9]|29)|3[0235-9]|7[2-7])|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]))|41|66[2-9]|7(?:1[2-9]|8[02-5]|9[03-7])|8(?:3[02-46-9]|5[03-9]|6[2-8]|8[024-6])|9(?:0[7-9]|7[02-467])|[5-8]0|(?:45|84)[02-6]|3(?:83|99)[1468]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|(?:22|47|81)[02-79]|3[4579]3[1357]|(?:28|49|5[79]|7[27]|9[589])[02-7]|(?:2[569]|4[2-48]|5[124-6]|6[1-358]|73|82|9[1-4])[02-9]|(?:24|[49]6|5[38]|6[47]|7[4-6]|87)[02-8]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 16 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d)(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4 $5 $6', + 'leadingDigitsPatterns' => + array ( + 0 => '2(?:0[4-6]|1(?:[035-9]|29)|3[0235-9]|7[2-7])|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]))|41|[56]0|7(?:0[2-8]|8[02-5]|9[03-7])|8(?:3[02-46-9]|5[03-9]|6[2-8]|8[024-6])|9(?:0[7-9]|7[02-467])|(?:45|84)[02-6]|3(?:83|99)[1468]|3[68]4[1347]|3(?:47|60)[1356]|(?:66|71|80)[2-9]|3(?:3[46]|46|5[49])[1246]|(?:22|47|81)[02-79]|3[4579]3[1357]|(?:28|49|5[79]|7[27]|9[589])[02-7]|(?:2[569]|4[2-48]|5[124-6]|6[1-358]|73|82|9[1-4])[02-9]|(?:24|[49]6|5[38]|6[47]|7[4-6]|87)[02-8]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 17 => + array ( + 'pattern' => '(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})(\\d{2})', + 'format' => '$1 $2 $3 $4 $5 $6', + 'leadingDigitsPatterns' => + array ( + 0 => '2(?:0[4-6]|1(?:[035-9]|29)|3[0235-9]|7[2-7])|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]))|41|7(?:8[02-5]|9[03-7])|8(?:3[02-46-9]|5[03-9]|6[2-8]|8[024-6])|9(?:0[7-9]|7[02-467])|[5-7]0|(?:45|84)[02-6]|3(?:83|99)[1468]|3[68]4[1347]|3(?:47|60)[1356]|(?:66|71|80)[2-9]|3(?:3[46]|46|5[49])[1246]|(?:22|47|81)[02-79]|3[4579]3[1357]|(?:28|49|5[79]|7[27]|9[589])[02-7]|(?:2[569]|4[2-48]|5[124-6]|6[1-358]|73|82|9[1-4])[02-9]|(?:24|[49]6|5[38]|6[47]|7[4-6]|87)[02-8]', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 18 => array ( 'pattern' => '(\\d{4})(\\d{4})(\\d{1,4})', 'format' => '$1 $2 $3', @@ -198,7 +246,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 15 => + 19 => array ( 'pattern' => '(\\d{4})(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', @@ -210,7 +258,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 16 => + 20 => array ( 'pattern' => '(\\d{4})(\\d{2})(\\d{3})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -222,7 +270,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 17 => + 21 => array ( 'pattern' => '(\\d{4})(\\d{3})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -234,7 +282,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 18 => + 22 => array ( 'pattern' => '(\\d{4})(\\d{2})(\\d{2})(\\d{2,3})', 'format' => '$1 $2 $3 $4', @@ -246,7 +294,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 19 => + 23 => array ( 'pattern' => '(\\d{5})(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3', @@ -258,7 +306,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 20 => + 24 => array ( 'pattern' => '(\\d{5})(\\d{4})(\\d{3,4})', 'format' => '$1 $2 $3', @@ -270,7 +318,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 21 => + 25 => array ( 'pattern' => '(\\d{5})(\\d{3})(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', @@ -282,7 +330,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 22 => + 26 => array ( 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -294,7 +342,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 23 => + 27 => array ( 'pattern' => '(\\d{4})(\\d{4})(\\d{3})', 'format' => '$1 $2 $3', @@ -306,7 +354,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 24 => + 28 => array ( 'pattern' => '(\\d{3})(\\d{8})', 'format' => '$1 $2', @@ -318,7 +366,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 25 => + 29 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -330,7 +378,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 26 => + 30 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{3})(\\d)', 'format' => '$1 $2 $3 $4', @@ -342,7 +390,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 27 => + 31 => array ( 'pattern' => '(\\d{3})(\\d{2,3})(\\d{3})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -354,7 +402,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 28 => + 32 => array ( 'pattern' => '(\\d{3})(\\d{4})(\\d{3})', 'format' => '$1 $2 $3', @@ -366,7 +414,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 29 => + 33 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{2})(\\d{2,3})', 'format' => '$1 $2 $3 $4', @@ -378,7 +426,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 30 => + 34 => array ( 'pattern' => '(\\d{3})(\\d{6})(\\d{2})(\\d{1,4})', 'format' => '$1 $2 $3 $4', @@ -390,7 +438,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 31 => + 35 => array ( 'pattern' => '(\\d{3})(\\d)(\\d{3})(\\d{3,4})', 'format' => '$1 $2 $3 $4', @@ -402,7 +450,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 32 => + 36 => array ( 'pattern' => '(\\d{3})(\\d)(\\d{4})(\\d{3,4})', 'format' => '$1 $2 $3 $4', @@ -414,7 +462,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 33 => + 37 => array ( 'pattern' => '(\\d{3})(\\d)(\\d{3})(\\d{3})', 'format' => '$1 $2 $3 $4', @@ -426,7 +474,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 34 => + 38 => array ( 'pattern' => '(\\d{4})(\\d{4,6})', 'format' => '$1 $2', @@ -438,7 +486,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 35 => + 39 => array ( 'pattern' => '(\\d{4})(\\d{2})(\\d{2})(\\d{2})', 'format' => '$1 $2 $3 $4', @@ -450,7 +498,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 36 => + 40 => array ( 'pattern' => '(\\d{4})(\\d{4,10})', 'format' => '$1 $2', diff --git a/src/data/PhoneNumberMetadata_AU.php b/src/data/PhoneNumberMetadata_AU.php index d2f1fe021..49dbde9b1 100644 --- a/src/data/PhoneNumberMetadata_AU.php +++ b/src/data/PhoneNumberMetadata_AU.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '1\\d{4,9}|(?:[2-478]\\d\\d|550)\\d{6}', + 'NationalNumberPattern' => '1(?:[0-79]\\d{7,8}|8[0-24-9]\\d{7})|(?:[2-478]\\d\\d|550)\\d{6}|1\\d{4,7}', 'PossibleLength' => array ( 0 => 5, @@ -169,7 +169,7 @@ 'internationalPrefix' => '001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011', 'preferredInternationalPrefix' => '0011', 'nationalPrefix' => '0', - 'nationalPrefixForParsing' => '0', + 'nationalPrefixForParsing' => '0|(183[12])', 'sameMobileAndFixedLinePattern' => false, 'numberFormat' => array ( @@ -267,7 +267,7 @@ 0 => '[2378]', ), 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '$CC ($1)', 'nationalPrefixOptionalWhenFormatting' => false, ), 8 => @@ -330,7 +330,7 @@ 0 => '[2378]', ), 'nationalPrefixFormattingRule' => '(0$1)', - 'domesticCarrierCodeFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '$CC ($1)', 'nationalPrefixOptionalWhenFormatting' => false, ), 4 => diff --git a/src/data/PhoneNumberMetadata_BD.php b/src/data/PhoneNumberMetadata_BD.php index 4dfeebae2..a68ab4eac 100644 --- a/src/data/PhoneNumberMetadata_BD.php +++ b/src/data/PhoneNumberMetadata_BD.php @@ -29,7 +29,7 @@ ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:4(?:31\\d\\d|[46]23)|5(?:222|32[37]))\\d{3}(?:\\d{2})?|(?:3(?:42[47]|529|823)|4(?:027|525|658)|(?:56|73)2|6257|9[35]1)\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[01367]|7[15]|8[0146-9]))|3(?:0(?:2[025-79]|3[2-4])|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|8(?:4[12]|[5-7]2)|9(?:[024]2|81))\\d{4}|(?:2[45]\\d\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:25|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[569]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:0|217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}', + 'NationalNumberPattern' => '(?:3(?:03[56]|224)|4(?:22[25]|653))\\d{3,4}|(?:4(?:31\\d\\d|[46]23)|5(?:222|32[37]))\\d{3}(?:\\d{2})?|(?:3(?:42[47]|529|823)|4(?:027|525|658)|(?:56|73)2|6257|9[35]1)\\d{3}|(?:3(?:02[348]|22[35]|324|422)|4(?:22[67]|32[236-9]|6(?:2[46]|5[57])|953)|5526|6(?:024|6655)|81)\\d{4,5}|(?:2(?:7(?:1[0-267]|2[0-289]|3[0-29]|4[01]|5[1-3]|6[013]|7[0178]|91)|8(?:0[125]|1[1-6]|2[0157-9]|3[1-69]|41|6[1-35]|7[1-5]|8[1-8]|9[0-6])|9(?:0[0-2]|1[0-4]|2[568]|3[3-6]|5[5-7]|6[01367]|7[15]|8[014-9]))|3(?:0(?:2[025-79]|3[2-4])|22[12]|32[2356]|824)|4(?:02[09]|22[348]|32[045]|523|6(?:27|54))|666(?:22|53)|8(?:4[12]|[5-7]2)|9(?:[024]2|81))\\d{4}|(?:2[45]\\d\\d|3(?:1(?:2[5-7]|[5-7])|425|822)|4(?:033|1\\d|[257]1|332|4(?:2[246]|5[25])|6(?:25|56|62)|8(?:23|54)|92[2-5])|5(?:02[03489]|22[457]|32[569]|42[46]|6(?:[18]|53)|724|826)|6(?:023|2(?:2[2-5]|5[3-5]|8)|32[3478]|42[34]|52[47]|6(?:[18]|6(?:2[34]|5[24]))|[78]2[2-5]|92[2-6])|7(?:02|21\\d|[3-589]1|6[12]|72[24])|8(?:0|217|3[12]|[5-7]1)|9[24]1)\\d{5}|(?:(?:3[2-8]|5[2-57-9]|6[03-589])1|4[4689][18])\\d{5}|[59]1\\d{5}', 'ExampleNumber' => '27111234', 'PossibleLength' => array ( diff --git a/src/data/PhoneNumberMetadata_CC.php b/src/data/PhoneNumberMetadata_CC.php index 59737cec7..a7fea76d6 100644 --- a/src/data/PhoneNumberMetadata_CC.php +++ b/src/data/PhoneNumberMetadata_CC.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '1\\d{5,9}|(?:[48]\\d\\d|550)\\d{6}', + 'NationalNumberPattern' => '1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}', 'PossibleLength' => array ( 0 => 6, diff --git a/src/data/PhoneNumberMetadata_CN.php b/src/data/PhoneNumberMetadata_CN.php index 416a12b13..a1d874f53 100644 --- a/src/data/PhoneNumberMetadata_CN.php +++ b/src/data/PhoneNumberMetadata_CN.php @@ -32,7 +32,7 @@ ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|21(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))\\d{5}|(?:43[35]|754|851)\\d{7,8}|(?:10|(?:2|85)1|43[35]|754)(?:100\\d\\d|95\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[1-9]\\d{6})|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:078|1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[1-9]\\d{5})|9(?:[0-46-9]\\d{5}|5\\d{3,5}))', + 'NationalNumberPattern' => '(?:10(?:[02-79]\\d\\d|[18](?:0[1-9]|[1-9]\\d))|21(?:[18](?:0[1-9]|[1-9]\\d)|[2-79]\\d\\d))\\d{5}|(?:43[35]|754)\\d{7,8}|8(?:078\\d{7}|51\\d{7,8})|(?:10|(?:2|85)1|43[35]|754)(?:100\\d\\d|95\\d{3,4})|(?:2[02-57-9]|3(?:11|7[179])|4(?:[15]1|3[12])|5(?:1\\d|2[37]|3[12]|51|7[13-79]|9[15])|7(?:[39]1|5[57]|6[09])|8(?:71|98))(?:[02-8]\\d{7}|1(?:0(?:0\\d\\d(?:\\d{3})?|[1-9]\\d{5})|[1-9]\\d{6})|9(?:[0-46-9]\\d{6}|5\\d{3}(?:\\d(?:\\d{2})?)?))|(?:3(?:1[02-9]|35|49|5\\d|7[02-68]|9[1-68])|4(?:1[02-9]|2[179]|3[46-9]|5[2-9]|6[47-9]|7\\d|8[23])|5(?:3[03-9]|4[36]|5[02-9]|6[1-46]|7[028]|80|9[2-46-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[17]\\d|2[248]|3[04-9]|4[3-6]|5[0-3689]|6[2368]|9[02-9])|8(?:1[236-8]|2[5-7]|3\\d|5[2-9]|7[02-9]|8[36-8]|9[1-7])|9(?:0[1-3689]|1[1-79]|[379]\\d|4[13]|5[1-5]))(?:[02-8]\\d{6}|1(?:0(?:0\\d\\d(?:\\d{2})?|[1-9]\\d{4})|[1-9]\\d{5})|9(?:[0-46-9]\\d{5}|5\\d{3,5}))', 'ExampleNumber' => '1012345678', 'PossibleLength' => array ( @@ -258,22 +258,6 @@ 'nationalPrefixOptionalWhenFormatting' => false, ), 6 => - array ( - 'pattern' => '(\\d{4})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '807', - 1 => '8078', - 2 => '8078[19]', - 3 => '8078(?:10|95)', - 4 => '8078(?:100|95)', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 7 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -285,7 +269,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 8 => + 7 => array ( 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', @@ -299,7 +283,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 9 => + 8 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -311,7 +295,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 10 => + 9 => array ( 'pattern' => '(\\d{3})(\\d{7,8})', 'format' => '$1 $2', @@ -323,7 +307,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 11 => + 10 => array ( 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -335,7 +319,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 12 => + 11 => array ( 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', @@ -347,7 +331,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 13 => + 12 => array ( 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', @@ -359,7 +343,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => false, ), - 14 => + 13 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3 $4', @@ -404,22 +388,6 @@ 'nationalPrefixOptionalWhenFormatting' => false, ), 2 => - array ( - 'pattern' => '(\\d{4})(\\d{5,6})', - 'format' => '$1 $2', - 'leadingDigitsPatterns' => - array ( - 0 => '807', - 1 => '8078', - 2 => '8078[19]', - 3 => '8078(?:10|95)', - 4 => '8078(?:100|95)', - ), - 'nationalPrefixFormattingRule' => '0$1', - 'domesticCarrierCodeFormattingRule' => '$CC $1', - 'nationalPrefixOptionalWhenFormatting' => false, - ), - 3 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -431,7 +399,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 4 => + 3 => array ( 'pattern' => '(\\d{2})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', @@ -445,7 +413,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 5 => + 4 => array ( 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -457,7 +425,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 6 => + 5 => array ( 'pattern' => '(\\d{3})(\\d{7,8})', 'format' => '$1 $2', @@ -469,7 +437,7 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), - 7 => + 6 => array ( 'pattern' => '(\\d{4})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3', @@ -481,7 +449,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 8 => + 7 => array ( 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', @@ -493,7 +461,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => true, ), - 9 => + 8 => array ( 'pattern' => '(\\d{3})(\\d{4})(\\d{4})', 'format' => '$1 $2 $3', @@ -505,7 +473,7 @@ 'domesticCarrierCodeFormattingRule' => '$CC $1', 'nationalPrefixOptionalWhenFormatting' => false, ), - 10 => + 9 => array ( 'pattern' => '(\\d{2})(\\d{3})(\\d{3})(\\d{4})', 'format' => '$1 $2 $3 $4', diff --git a/src/data/PhoneNumberMetadata_CX.php b/src/data/PhoneNumberMetadata_CX.php index e1f3673c4..c50a2f296 100644 --- a/src/data/PhoneNumberMetadata_CX.php +++ b/src/data/PhoneNumberMetadata_CX.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '1\\d{5,9}|(?:[48]\\d\\d|550)\\d{6}', + 'NationalNumberPattern' => '1(?:[0-79]\\d|8[0-24-9])\\d{7}|(?:[148]\\d\\d|550)\\d{6}|1\\d{5,7}', 'PossibleLength' => array ( 0 => 6, diff --git a/src/data/PhoneNumberMetadata_EC.php b/src/data/PhoneNumberMetadata_EC.php index 448ec070b..d3ae45e8b 100644 --- a/src/data/PhoneNumberMetadata_EC.php +++ b/src/data/PhoneNumberMetadata_EC.php @@ -42,7 +42,7 @@ ), 'mobile' => array ( - 'NationalNumberPattern' => '9630\\d{5}|9(?:39|[57][89]|6[0-27-9]|[89]\\d)\\d{6}', + 'NationalNumberPattern' => '964[0-2]\\d{5}|9(?:39|[57][89]|6[0-37-9]|[89]\\d)\\d{6}', 'ExampleNumber' => '991234567', 'PossibleLength' => array ( diff --git a/src/data/PhoneNumberMetadata_ID.php b/src/data/PhoneNumberMetadata_ID.php index 20468c19e..ce0db2a1b 100644 --- a/src/data/PhoneNumberMetadata_ID.php +++ b/src/data/PhoneNumberMetadata_ID.php @@ -14,7 +14,7 @@ return array ( 'generalDesc' => array ( - 'NationalNumberPattern' => '(?:[1-36]|8\\d{5})\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}', + 'NationalNumberPattern' => '(?:(?:007803|8\\d{4})\\d|[1-36])\\d{6}|[1-9]\\d{8,10}|[2-9]\\d{7}', 'PossibleLength' => array ( 0 => 7, @@ -23,6 +23,7 @@ 3 => 10, 4 => 11, 5 => 12, + 6 => 13, ), 'PossibleLengthLocalOnly' => array ( @@ -65,7 +66,7 @@ ), 'tollFree' => array ( - 'NationalNumberPattern' => '(?:177\\d|800)\\d{5,7}', + 'NationalNumberPattern' => '007803\\d{7}|(?:177\\d|800)\\d{5,7}', 'ExampleNumber' => '8001234567', 'PossibleLength' => array ( @@ -73,6 +74,7 @@ 1 => 9, 2 => 10, 3 => 11, + 4 => 13, ), 'PossibleLengthLocalOnly' => array ( @@ -157,10 +159,11 @@ ), 'noInternationalDialling' => array ( - 'NationalNumberPattern' => '8071\\d{6}', + 'NationalNumberPattern' => '(?:007803\\d|8071)\\d{6}', 'PossibleLength' => array ( 0 => 10, + 1 => 13, ), 'PossibleLengthLocalOnly' => array ( @@ -168,7 +171,7 @@ ), 'id' => 'ID', 'countryCode' => 62, - 'internationalPrefix' => '0(?:0[17-9]|10(?:00|1[67]))', + 'internationalPrefix' => '00[189]', 'nationalPrefix' => '0', 'nationalPrefixForParsing' => '0', 'sameMobileAndFixedLinePattern' => false, @@ -282,9 +285,129 @@ 'domesticCarrierCodeFormattingRule' => '', 'nationalPrefixOptionalWhenFormatting' => false, ), + 9 => + array ( + 'pattern' => '(\\d{2})(\\d{4})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '0', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'intlNumberFormat' => array ( + 0 => + array ( + 'pattern' => '(\\d)(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '15', + ), + 'nationalPrefixFormattingRule' => '', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 1 => + array ( + 'pattern' => '(\\d{2})(\\d{5,9})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '2[124]|[36]1', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 2 => + array ( + 'pattern' => '(\\d{3})(\\d{5,7})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '800', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 3 => + array ( + 'pattern' => '(\\d{3})(\\d{5,8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '[2-79]', + ), + 'nationalPrefixFormattingRule' => '(0$1)', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 4 => + array ( + 'pattern' => '(\\d{3})(\\d{3,4})(\\d{3})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '8[1-35-9]', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 5 => + array ( + 'pattern' => '(\\d{3})(\\d{6,8})', + 'format' => '$1 $2', + 'leadingDigitsPatterns' => + array ( + 0 => '1', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 6 => + array ( + 'pattern' => '(\\d{3})(\\d{3})(\\d{4})', + 'format' => '$1 $2 $3', + 'leadingDigitsPatterns' => + array ( + 0 => '804', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 7 => + array ( + 'pattern' => '(\\d{3})(\\d)(\\d{3})(\\d{3})', + 'format' => '$1 $2 $3 $4', + 'leadingDigitsPatterns' => + array ( + 0 => '80', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), + 8 => + array ( + 'pattern' => '(\\d{3})(\\d{4})(\\d{4,5})', + 'format' => '$1-$2-$3', + 'leadingDigitsPatterns' => + array ( + 0 => '8', + ), + 'nationalPrefixFormattingRule' => '0$1', + 'domesticCarrierCodeFormattingRule' => '', + 'nationalPrefixOptionalWhenFormatting' => false, + ), ), 'mainCountryForCode' => false, 'leadingZeroPossible' => false, diff --git a/src/data/PhoneNumberMetadata_PE.php b/src/data/PhoneNumberMetadata_PE.php index 7dcbda51f..90747c0e1 100644 --- a/src/data/PhoneNumberMetadata_PE.php +++ b/src/data/PhoneNumberMetadata_PE.php @@ -28,7 +28,7 @@ ), 'fixedLine' => array ( - 'NationalNumberPattern' => '(?:1\\d|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}', + 'NationalNumberPattern' => '19(?:[02-68]\\d|1[035-9]|7[0-689]|9[1-9])\\d{4}|(?:1[0-8]|4[1-4]|5[1-46]|6[1-7]|7[2-46]|8[2-4])\\d{6}', 'ExampleNumber' => '11234567', 'PossibleLength' => array ( From 69e93241f1ba7511087b9848b94eafc48e2ac08d Mon Sep 17 00:00:00 2001 From: Joshua Gigg Date: Mon, 15 Apr 2019 19:09:37 +0100 Subject: [PATCH 2/2] Update minimum Locale version CLDR changes are causing test failures here, so ensure we always use the CLDR >= v35 --- composer.json | 2 +- tests/Issues/LocaleTest.php | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 4a6ca4fd7..2bf0bd426 100644 --- a/composer.json +++ b/composer.json @@ -60,7 +60,7 @@ "require": { "php": ">=5.3.2", "ext-mbstring": "*", - "giggsey/locale": "^1.2" + "giggsey/locale": "^1.7" }, "require-dev": { "phing/phing": "^2.7", diff --git a/tests/Issues/LocaleTest.php b/tests/Issues/LocaleTest.php index 50f1c39bf..9743a4a8a 100644 --- a/tests/Issues/LocaleTest.php +++ b/tests/Issues/LocaleTest.php @@ -197,8 +197,8 @@ private function getCountryCodes() 'LI' => 'Liechtenstein', 'LT' => 'Lithuania', 'LU' => 'Luxembourg', - 'MO' => 'Macau SAR China', - 'MK' => 'Macedonia', + 'MO' => 'Macao SAR China', + 'MK' => 'North Macedonia', 'MG' => 'Madagascar', 'MW' => 'Malawi', 'MY' => 'Malaysia', @@ -274,7 +274,7 @@ private function getCountryCodes() 'SD' => 'Sudan', 'SR' => 'Suriname', 'SJ' => 'Svalbard & Jan Mayen', - 'SZ' => 'Swaziland', + 'SZ' => 'Eswatini', 'SE' => 'Sweden', 'CH' => 'Switzerland', 'SY' => 'Syria',