phonelib 0.5.2 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +8 -0
  3. data/data/extended_data.dat +0 -0
  4. data/data/libphonenumber/README.md +1 -1
  5. data/data/libphonenumber/cpp/src/phonenumbers/lite_metadata.cc +9888 -9854
  6. data/data/libphonenumber/cpp/src/phonenumbers/metadata.cc +9798 -9762
  7. data/data/libphonenumber/cpp/src/phonenumbers/phonenumberutil.cc +6 -6
  8. data/data/libphonenumber/cpp/src/phonenumbers/short_metadata.cc +2495 -2494
  9. data/data/libphonenumber/debian/control +9 -7
  10. data/data/libphonenumber/debian/{libphonenumber6-dev.install → libphonenumber7-dev.install} +0 -0
  11. data/data/libphonenumber/debian/{libphonenumber6-java.jlibs → libphonenumber7-java.jlibs} +0 -0
  12. data/data/libphonenumber/debian/{libphonenumber6-java.poms → libphonenumber7-java.poms} +0 -0
  13. data/data/libphonenumber/debian/{libphonenumber6.install → libphonenumber7.install} +0 -0
  14. data/data/libphonenumber/debian/rules +2 -2
  15. data/data/libphonenumber/java/carrier/pom.xml +4 -4
  16. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/1246_en +0 -0
  17. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/245_en +0 -0
  18. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/252_en +0 -0
  19. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/373_en +0 -0
  20. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/62_en +0 -0
  21. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/678_en +0 -0
  22. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/880_en +0 -0
  23. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/968_en +0 -0
  24. data/data/libphonenumber/java/carrier/src/com/google/i18n/phonenumbers/carrier/data/98_en +0 -0
  25. data/data/libphonenumber/java/demo/pom.xml +5 -5
  26. data/data/libphonenumber/java/geocoder/pom.xml +4 -4
  27. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/245_en +0 -0
  28. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/245_pt +0 -0
  29. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/968_en +0 -0
  30. data/data/libphonenumber/java/geocoder/src/com/google/i18n/phonenumbers/geocoding/data/config +0 -0
  31. data/data/libphonenumber/java/internal/prefixmapper/pom.xml +3 -3
  32. data/data/libphonenumber/java/libphonenumber/pom.xml +4 -2
  33. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MetadataSource.java +1 -1
  34. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/MultiFileMetadataSourceImpl.java +7 -10
  35. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +6 -4
  36. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/SingleFileMetadataSourceImpl.java +82 -30
  37. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_AT +0 -0
  38. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BB +0 -0
  39. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BR +0 -0
  40. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_BS +0 -0
  41. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_GW +0 -0
  42. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_HT +0 -0
  43. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_ID +0 -0
  44. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_IR +0 -0
  45. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_KW +0 -0
  46. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MC +0 -0
  47. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_MD +0 -0
  48. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_OM +0 -0
  49. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_PA +0 -0
  50. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_SO +0 -0
  51. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_TT +0 -0
  52. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/PhoneNumberMetadataProto_VU +0 -0
  53. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_BB +0 -0
  54. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/ShortNumberMetadataProto_NO +0 -0
  55. data/data/libphonenumber/java/libphonenumber/src/com/google/i18n/phonenumbers/data/SingleFilePhoneNumberMetadataProto +0 -0
  56. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/MultiFileMetadataSourceImplTest.java +10 -14
  57. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/SingleFileMetadataSourceImplTest.java +40 -0
  58. data/data/libphonenumber/java/libphonenumber/test/com/google/i18n/phonenumbers/TestMetadataTestCase.java +1 -1
  59. data/data/libphonenumber/java/pom.xml +1 -1
  60. data/data/libphonenumber/java/release_notes.txt +19 -0
  61. data/data/libphonenumber/javascript/i18n/phonenumbers/demo-compiled.js +108 -106
  62. data/data/libphonenumber/javascript/i18n/phonenumbers/metadata.js +37 -34
  63. data/data/libphonenumber/javascript/i18n/phonenumbers/metadatalite.js +37 -34
  64. data/data/libphonenumber/resources/PhoneNumberMetadata.xml +199 -91
  65. data/data/libphonenumber/resources/ShortNumberMetadata.xml +20 -9
  66. data/data/libphonenumber/resources/carrier/en/1.txt +8 -0
  67. data/data/libphonenumber/resources/carrier/en/245.txt +4 -2
  68. data/data/libphonenumber/resources/carrier/en/252.txt +8 -0
  69. data/data/libphonenumber/resources/carrier/en/373.txt +1 -0
  70. data/data/libphonenumber/resources/carrier/en/62.txt +1 -0
  71. data/data/libphonenumber/resources/carrier/en/678.txt +4 -0
  72. data/data/libphonenumber/resources/carrier/en/968.txt +10 -4
  73. data/data/libphonenumber/resources/carrier/en/98.txt +1 -0
  74. data/data/libphonenumber/resources/geocoding/en/245.txt +22 -20
  75. data/data/libphonenumber/resources/geocoding/en/968.txt +18 -0
  76. data/data/libphonenumber/tools/java/cpp-build/target/cpp-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
  77. data/data/libphonenumber/tools/java/java-build/target/java-build-1.0-SNAPSHOT-jar-with-dependencies.jar +0 -0
  78. data/data/phone_data.dat +0 -0
  79. data/lib/phonelib/core.rb +26 -0
  80. data/lib/phonelib/phone.rb +20 -2
  81. data/lib/phonelib/phone_analyzer_helper.rb +1 -0
  82. data/lib/phonelib/version.rb +1 -1
  83. data/lib/validators/phone_validator.rb +5 -1
  84. metadata +23 -6
@@ -475,7 +475,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
475
475
  ,[,,"6(?:44|5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}","\\d{7,13}",,,"644123456"]
476
476
  ,[,,"80[02]\\d{6,10}","\\d{9,13}",,,"800123456"]
477
477
  ,[,,"(?:711|9(?:0[01]|3[019]))\\d{6,10}","\\d{9,13}",,,"900123456"]
478
- ,[,,"8(?:10|2[018])\\d{6,10}","\\d{9,13}",,,"810123456"]
478
+ ,[,,"8(?:10\\d|2(?:[01]\\d|8\\d?))\\d{5,9}","\\d{8,13}",,,"810123456"]
479
479
  ,[,,"NA","NA"]
480
480
  ,[,,"780\\d{6,10}","\\d{9,13}",,,"780123456"]
481
481
  ,"AT",43,"00","0",,,"0",,,,[[,"(1)(\\d{3,12})","$1 $2",["1"]
@@ -595,16 +595,16 @@ i18n.phonenumbers.metadata.countryToMetadata = {
595
595
  ,,,[,,"NA","NA"]
596
596
  ]
597
597
  ,"BB":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
598
- ,[,,"246[2-9]\\d{6}","\\d{7}(?:\\d{3})?",,,"2462345678"]
599
- ,[,,"246(?:(?:2[346]|45|82)\\d|25[0-46])\\d{4}","\\d{10}",,,"2462501234"]
598
+ ,[,,"246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7(?:37|57)|9(?:1[89]|63))\\d{4}","\\d{7}(?:\\d{3})?",,,"2464123456"]
599
+ ,[,,"246(?:2(?:[356]\\d|4[0-57-9]|8[0-79])|45\\d|8(?:[2-5]\\d|83))\\d{4}","\\d{10}",,,"2462501234"]
600
600
  ,[,,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
601
- ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
602
- ,[,,"NA","NA"]
603
- ,[,,"5(?:00|33|44|66|77)[2-9]\\d{6}","\\d{10}",,,"5002345678"]
601
+ ,[,,"900\\d{7}|246976\\d{4}","\\d{10}",,,"9002123456"]
604
602
  ,[,,"NA","NA"]
603
+ ,[,,"5(?:00|33|44|66|77)[2-9]\\d{3}","\\d{10}",,,"5002345678"]
604
+ ,[,,"24631\\d{5}","\\d{10}",,,"2463101234"]
605
605
  ,"BB",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
606
606
  ,,"246",[,,"NA","NA"]
607
- ,[,,"NA","NA"]
607
+ ,[,,"246(?:292|41[7-9]|43[01])\\d{4}","\\d{10}",,,"2464301234"]
608
608
  ,,,[,,"NA","NA"]
609
609
  ]
610
610
  ,"BD":[,[,,"[2-79]\\d{5,9}|1\\d{9}|8[0-7]\\d{4,8}","\\d{6,10}"]
@@ -815,7 +815,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
815
815
  ]
816
816
  ,"BR":[,[,,"[1-46-9]\\d{7,10}|5\\d{8,9}","\\d{8,11}"]
817
817
  ,[,,"1[1-9][2-5]\\d{7}|(?:[4689][1-9]|2[12478]|3[1-578]|5[1-5]|7[13-579])[2-5]\\d{7}","\\d{8,11}",,,"1123456789"]
818
- ,[,,"1[1-9](?:7|9\\d)\\d{7}|(?:2[12478]|[89][1-9])9?[6-9]\\d{7}|(?:3[1-578]|[46][1-9]|5[1-5]|7[13-579])[6-9]\\d{7}","\\d{10,11}",,,"11961234567"]
818
+ ,[,,"1[1-9](?:7|9\\d)\\d{7}|(?:2[12478]|3[1-578]|7[13-579]|[89][1-9])9?[6-9]\\d{7}|(?:[46][1-9]|5[1-5])[6-9]\\d{7}","\\d{10,11}",,,"11961234567"]
819
819
  ,[,,"800\\d{6,7}","\\d{8,11}",,,"800123456"]
820
820
  ,[,,"[359]00\\d{6,7}","\\d{8,11}",,,"300123456"]
821
821
  ,[,,"[34]00\\d{5}","\\d{8}",,,"40041234"]
@@ -827,7 +827,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
827
827
  ,"$1","",0]
828
828
  ,[,"(\\d{3,5})","$1",["1[125689]"]
829
829
  ,"$1","",0]
830
- ,[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478])9"]
830
+ ,[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478]|3[1-578]|7[13-579])9"]
831
831
  ,"($1)","0 $CC ($1)",0]
832
832
  ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"]
833
833
  ,"($1)","0 $CC ($1)",0]
@@ -836,7 +836,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
836
836
  ,[,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"]
837
837
  ,"0$1","",0]
838
838
  ]
839
- ,[[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478])9"]
839
+ ,[[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478]|3[1-578]|7[13-579])9"]
840
840
  ,"($1)","0 $CC ($1)",0]
841
841
  ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"]
842
842
  ,"($1)","0 $CC ($1)",0]
@@ -851,7 +851,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
851
851
  ,,,[,,"NA","NA"]
852
852
  ]
853
853
  ,"BS":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
854
- ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:0[12]|12|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}","\\d{7}(?:\\d{3})?",,,"2423456789"]
854
+ ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:0[1-3]|12|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}","\\d{7}(?:\\d{3})?",,,"2423456789"]
855
855
  ,[,,"242(?:3(?:5[79]|[79]5)|4(?:[2-4][1-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-9]|65|77)|6[34]6|727)\\d{4}","\\d{10}",,,"2423591234"]
856
856
  ,[,,"242300\\d{4}|8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002123456"]
857
857
  ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002123456"]
@@ -1993,15 +1993,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
1993
1993
  ,[,,"NA","NA"]
1994
1994
  ,,,[,,"NA","NA"]
1995
1995
  ]
1996
- ,"GW":[,[,,"[3-79]\\d{6}","\\d{7}"]
1997
- ,[,,"3(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7}",,,"3201234"]
1998
- ,[,,"(?:[5-7]\\d|9[012])\\d{5}","\\d{7}",,,"5012345"]
1996
+ ,"GW":[,[,,"(?:4(?:0\\d{5}|4\\d{7})|9\\d{8})","\\d{7,9}"]
1997
+ ,[,,"443(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7,9}",,,"443201234"]
1998
+ ,[,,"9(?:55\\d|6(?:6\\d|9[012])|77\\d)\\d{5}","\\d{7,9}",,,"955012345"]
1999
1999
  ,[,,"NA","NA"]
2000
2000
  ,[,,"NA","NA"]
2001
2001
  ,[,,"NA","NA"]
2002
2002
  ,[,,"NA","NA"]
2003
- ,[,,"40\\d{5}","\\d{7}",,,"4012345"]
2004
- ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"","",0]
2003
+ ,[,,"40\\d{5}","\\d{7,9}",,,"4012345"]
2004
+ ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["44|9[567]"]
2005
+ ,"","",0]
2006
+ ,[,"(\\d{3})(\\d{4})","$1 $2",["40"]
2007
+ ,"","",0]
2005
2008
  ]
2006
2009
  ,,[,,"NA","NA"]
2007
2010
  ,,,[,,"NA","NA"]
@@ -2097,7 +2100,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2097
2100
  ,,,[,,"NA","NA"]
2098
2101
  ]
2099
2102
  ,"HT":[,[,,"[2-489]\\d{7}","\\d{8}"]
2100
- ,[,,"2(?:[24]\\d|5[1-5]|94)\\d{5}","\\d{8}",,,"22453300"]
2103
+ ,[,,"2(?:[248]\\d|5[1-5]|94)\\d{5}","\\d{8}",,,"22453300"]
2101
2104
  ,[,,"(?:3[1-9]\\d|4\\d{2}|9(?:8[0-35]|9[5-9]))\\d{5}","\\d{8}",,,"34101234"]
2102
2105
  ,[,,"8\\d{7}","\\d{8}",,,"80012345"]
2103
2106
  ,[,,"NA","NA"]
@@ -2129,9 +2132,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2129
2132
  ,[,,"NA","NA"]
2130
2133
  ,,,[,,"NA","NA"]
2131
2134
  ]
2132
- ,"ID":[,[,,"[1-9]\\d{6,10}","\\d{5,11}"]
2135
+ ,"ID":[,[,,"(?:[1-79]\\d{6,10}|8\\d{7,11})","\\d{5,12}"]
2133
2136
  ,[,,"2(?:1(?:14\\d{3}|[0-8]\\d{6,7}|500\\d{3}|9\\d{6})|2\\d{6,8}|4\\d{7,8})|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}","\\d{5,11}",,,"612345678"]
2134
- ,[,,"(?:2(?:1(?:3[145]|4[01]|5[1-469]|60|8[0359]|9\\d)|2(?:88|9[1256])|3[1-4]9|4(?:36|91)|5(?:1[349]|[2-4]9)|6[0-7]9|7(?:[1-36]9|4[39])|8[1-5]9|9[1-48]9)|3(?:19[1-3]|2[12]9|3[13]9|4(?:1[69]|39)|5[14]9|6(?:1[69]|2[89])|709)|4[13]19|5(?:1(?:19|8[39])|4[129]9|6[12]9)|6(?:19[12]|2(?:[23]9|77))|7(?:1[13]9|2[15]9|419|5(?:1[89]|29)|6[15]9|7[178]9))\\d{5,6}|8[1-35-9]\\d{7,9}","\\d{9,11}",,,"812345678"]
2137
+ ,[,,"(?:2(?:1(?:3[145]|4[01]|5[1-469]|60|8[0359]|9\\d)|2(?:88|9[1256])|3[1-4]9|4(?:36|91)|5(?:1[349]|[2-4]9)|6[0-7]9|7(?:[1-36]9|4[39])|8[1-5]9|9[1-48]9)|3(?:19[1-3]|2[12]9|3[13]9|4(?:1[69]|39)|5[14]9|6(?:1[69]|2[89])|709)|4[13]19|5(?:1(?:19|8[39])|4[129]9|6[12]9)|6(?:19[12]|2(?:[23]9|77))|7(?:1[13]9|2[15]9|419|5(?:1[89]|29)|6[15]9|7[178]9))\\d{5,6}|8[1-35-9]\\d{7,10}","\\d{9,12}",,,"812345678"]
2135
2138
  ,[,,"177\\d{6,8}|800\\d{5,7}","\\d{8,11}",,,"8001234567"]
2136
2139
  ,[,,"809\\d{7}","\\d{10}",,,"8091234567"]
2137
2140
  ,[,,"NA","NA"]
@@ -2141,7 +2144,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2141
2144
  ,"(0$1)","",0]
2142
2145
  ,[,"(\\d{3})(\\d{5,8})","$1 $2",["[4579]|2[035-9]|[36][02-9]"]
2143
2146
  ,"(0$1)","",0]
2144
- ,[,"(8\\d{2})(\\d{3,4})(\\d{3,4})","$1-$2-$3",["8[1-35-9]"]
2147
+ ,[,"(8\\d{2})(\\d{3,4})(\\d{3,5})","$1-$2-$3",["8[1-35-9]"]
2145
2148
  ,"0$1","",0]
2146
2149
  ,[,"(177)(\\d{6,8})","$1 $2",["1"]
2147
2150
  ,"0$1","",0]
@@ -2303,7 +2306,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2303
2306
  ]
2304
2307
  ,"IR":[,[,,"[1-8]\\d{9}|9(?:[0-4]\\d{8}|9\\d{2,8})","\\d{4,10}"]
2305
2308
  ,[,,"(?:1[137]|2[13-68]|3[1458]|4[145]|5[146-8]|6[146]|7[1467]|8[13467])\\d{8}","\\d{10}",,,"2123456789"]
2306
- ,[,,"9(?:0[12]|[1-3]\\d)\\d{7}","\\d{10}",,,"9123456789"]
2309
+ ,[,,"9(?:0[1-3]|[13]\\d|2[0-2]|90)\\d{7}","\\d{10}",,,"9123456789"]
2307
2310
  ,[,,"NA","NA"]
2308
2311
  ,[,,"NA","NA"]
2309
2312
  ,[,,"NA","NA"]
@@ -2643,13 +2646,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2643
2646
  ]
2644
2647
  ,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"]
2645
2648
  ,[,,"(?:18\\d|2(?:[23]\\d{2}|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}",,,"22345678"]
2646
- ,[,,"(?:5(?:[05]\\d|1[0-7])|6(?:0[034679]|5[015-9]|6\\d|7[067]|9[0369])|9(?:0[09]|22|4[01479]|55|6[0679]|[79]\\d|8[057-9]))\\d{5}","\\d{8}",,,"50012345"]
2649
+ ,[,,"(?:5(?:[05]\\d{2}|1[0-7]\\d|2(?:22|55))|6(?:0[034679]\\d|5[015-9]\\d|6\\d{2}|7[067]\\d|9[0369]\\d)|9(?:0[09]\\d|22\\d|4[01479]\\d|55\\d|6[0679]\\d|[79]\\d{2}|8[057-9]\\d))\\d{4}","\\d{8}",,,"50012345"]
2647
2650
  ,[,,"NA","NA"]
2648
2651
  ,[,,"NA","NA"]
2649
2652
  ,[,,"NA","NA"]
2650
2653
  ,[,,"NA","NA"]
2651
2654
  ,[,,"NA","NA"]
2652
- ,"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[126]|9[04-9]"]
2655
+ ,"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[126]|9[04-9]|52[25]"]
2653
2656
  ,"","",0]
2654
2657
  ,[,"(\\d{3})(\\d{5})","$1 $2",["5[015]|92"]
2655
2658
  ,"","",0]
@@ -2919,7 +2922,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2919
2922
  ]
2920
2923
  ,"MC":[,[,,"[4689]\\d{7,8}","\\d{8,9}"]
2921
2924
  ,[,,"870\\d{5}|9[2-47-9]\\d{6}","\\d{8}",,,"99123456"]
2922
- ,[,,"6\\d{8}|4(?:4\\d|5[2-9])\\d{5}","\\d{8,9}",,,"612345678"]
2925
+ ,[,,"6\\d{8}|4(?:4\\d|5[1-9])\\d{5}","\\d{8,9}",,,"612345678"]
2923
2926
  ,[,,"90\\d{6}","\\d{8}",,,"90123456"]
2924
2927
  ,[,,"NA","NA"]
2925
2928
  ,[,,"NA","NA"]
@@ -2941,7 +2944,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2941
2944
  ]
2942
2945
  ,"MD":[,[,,"[235-9]\\d{7}","\\d{8}"]
2943
2946
  ,[,,"(?: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{8}",,,"22212345"]
2944
- ,[,,"(?:562\\d|6(?:[089]\\d{2}|1[01]\\d|21\\d|7(?:[1-6]\\d|7[0-4]))|7(?:6[07]|7[457-9]|[89]\\d)\\d)\\d{4}","\\d{8}",,,"62112345"]
2947
+ ,[,,"(?:562\\d|6(?:[089]\\d{2}|[12][01]\\d|7(?:[1-6]\\d|7[0-4]))|7(?:6[07]|7[457-9]|[89]\\d)\\d)\\d{4}","\\d{8}",,,"62112345"]
2945
2948
  ,[,,"800\\d{5}","\\d{8}",,,"80012345"]
2946
2949
  ,[,,"90[056]\\d{5}","\\d{8}",,,"90012345"]
2947
2950
  ,[,,"808\\d{5}","\\d{8}",,,"80812345"]
@@ -3567,11 +3570,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
3567
3570
  ,[,,"NA","NA"]
3568
3571
  ,,,[,,"NA","NA"]
3569
3572
  ]
3570
- ,"OM":[,[,,"(?:2[2-6]|5|9[1-9])\\d{6}|800\\d{5,6}","\\d{7,9}"]
3573
+ ,"OM":[,[,,"(?:2[2-6]|5|9\\d)\\d{6}|800\\d{5,6}","\\d{7,9}"]
3571
3574
  ,[,,"2[2-6]\\d{6}","\\d{8}",,,"23123456"]
3572
- ,[,,"9[1-9]\\d{6}","\\d{8}",,,"92123456"]
3575
+ ,[,,"9(?:0[1-9]|[1-9]\\d)\\d{5}","\\d{8}",,,"92123456"]
3573
3576
  ,[,,"8007\\d{4,5}|500\\d{4}","\\d{7,9}",,,"80071234"]
3574
- ,[,,"NA","NA"]
3577
+ ,[,,"(?:900)\\d{5}","\\d{8}",,,"90012345"]
3575
3578
  ,[,,"NA","NA"]
3576
3579
  ,[,,"NA","NA"]
3577
3580
  ,[,,"NA","NA"]
@@ -3588,10 +3591,10 @@ i18n.phonenumbers.metadata.countryToMetadata = {
3588
3591
  ,,,[,,"NA","NA"]
3589
3592
  ]
3590
3593
  ,"PA":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
3591
- ,[,,"(?:1(?:0[02-579]|19|2[37]|3[03]|4[479]|57|65|7[016-8]|8[58]|9[1349])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:[09]\\d|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[06-8]|8[089])|4(?:3[013-69]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-267]|3[06]|[49]0|5[06-9]|7[0-24-7]|8[89])|8(?:[34]\\d|5[0-4]|8[02])|9(?:0[6-8]|1[016-8]|2[036-8]|3[3679]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}",,,"2001234"]
3594
+ ,[,,"(?:1(?:0[0-8]|1[49]|2[37]|3[0137]|4[147]|5[05]|6[58]|7[0167]|8[58]|9[139])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:[09]\\d|1[014-7]|2[0-3]|3[03]|4[03-57]|55|6[068]|7[06-8]|8[06-9])|4(?:3[013-69]|4\\d|7[0-589])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-267]|3[06]|[469]0|5[06-9]|7[0-24-79]|8[7-9])|8(?:09|[34]\\d|5[0134]|8[02])|9(?:0[6-9]|1[016-8]|2[036-8]|3[3679]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}",,,"2001234"]
3592
3595
  ,[,,"(?:1[16]1|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[024-9]\\d|1[0-5]|3[0-24-9])\\d{5}","\\d{7,8}",,,"60012345"]
3593
3596
  ,[,,"80[09]\\d{4}","\\d{7}",,,"8001234"]
3594
- ,[,,"(?:779|8(?:2[235]|55|60|7[578]|86|95)|9(?:0[0-2]|81))\\d{4}","\\d{7}",,,"8601234"]
3597
+ ,[,,"(?:779|8(?:55|60|7[78])|9(?:00|81))\\d{4}","\\d{7}",,,"8601234"]
3595
3598
  ,[,,"NA","NA"]
3596
3599
  ,[,,"NA","NA"]
3597
3600
  ,[,,"NA","NA"]
@@ -4260,7 +4263,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4260
4263
  ]
4261
4264
  ,"SO":[,[,,"[1-79]\\d{6,8}","\\d{7,9}"]
4262
4265
  ,[,,"(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|59)\\d{5}","\\d{7}",,,"4012345"]
4263
- ,[,,"(?:15\\d|2(?:4\\d|8)|6[1-35-9]?\\d{2}|7(?:[1-8]\\d|99?\\d)|907\\d)\\d{5}","\\d{7,9}",,,"71123456"]
4266
+ ,[,,"(?:15\\d|2(?:4\\d|8)|6[1-35-9]?\\d{2}|7(?:[1-8]\\d|99?\\d)|9(?:07|[2-9])\\d)\\d{5}","\\d{7,9}",,,"71123456"]
4264
4267
  ,[,,"NA","NA"]
4265
4268
  ,[,,"NA","NA"]
4266
4269
  ,[,,"NA","NA"]
@@ -4270,7 +4273,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4270
4273
  ,"","",0]
4271
4274
  ,[,"(\\d)(\\d{7})","$1 $2",["24|[67]"]
4272
4275
  ,"","",0]
4273
- ,[,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[1-35-9]|799"]
4276
+ ,[,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[1-35-9]|799|9[2-9]"]
4274
4277
  ,"","",0]
4275
4278
  ,[,"(90\\d)(\\d{3})(\\d{3})","$1 $2 $3",["90"]
4276
4279
  ,"","",0]
@@ -4602,7 +4605,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4602
4605
  ,,,[,,"NA","NA"]
4603
4606
  ]
4604
4607
  ,"TT":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
4605
- ,[,,"868(?:2(?:01|2[1-5]|3[1-5])|6(?:0[79]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}","\\d{7}(?:\\d{3})?",,,"8682211234"]
4608
+ ,[,,"868(?:2(?:01|2[1-6]|3[1-5])|6(?:0[79]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}","\\d{7}(?:\\d{3})?",,,"8682211234"]
4606
4609
  ,[,,"868(?:2(?:[789]\\d)|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4[6-9]\\d|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}","\\d{10}",,,"8682911234"]
4607
4610
  ,[,,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}",,,"8002345678"]
4608
4611
  ,[,,"900[2-9]\\d{6}","\\d{10}",,,"9002345678"]
@@ -4861,7 +4864,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4861
4864
  ]
4862
4865
  ,"VU":[,[,,"[2-57-9]\\d{4,6}","\\d{5,7}"]
4863
4866
  ,[,,"(?:2[02-9]\\d|3(?:[5-7]\\d|8[0-8])|48[4-9]|88\\d)\\d{2}","\\d{5}",,,"22123"]
4864
- ,[,,"(?:5(?:7[2-5]|[3-69]\\d)|7[013-7]\\d)\\d{4}","\\d{7}",,,"5912345"]
4867
+ ,[,,"(?:5(?:7[2-5]|[0-689]\\d)|7[013-7]\\d)\\d{4}","\\d{7}",,,"5912345"]
4865
4868
  ,[,,"NA","NA"]
4866
4869
  ,[,,"NA","NA"]
4867
4870
  ,[,,"NA","NA"]
@@ -475,7 +475,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
475
475
  ,[,,"6(?:44|5[0-3579]|6[013-9]|[7-9]\\d)\\d{4,10}","\\d{7,13}"]
476
476
  ,[,,"80[02]\\d{6,10}","\\d{9,13}"]
477
477
  ,[,,"(?:711|9(?:0[01]|3[019]))\\d{6,10}","\\d{9,13}"]
478
- ,[,,"8(?:10|2[018])\\d{6,10}","\\d{9,13}"]
478
+ ,[,,"8(?:10\\d|2(?:[01]\\d|8\\d?))\\d{5,9}","\\d{8,13}"]
479
479
  ,[,,"NA","NA"]
480
480
  ,[,,"780\\d{6,10}","\\d{9,13}"]
481
481
  ,"AT",43,"00","0",,,"0",,,,[[,"(1)(\\d{3,12})","$1 $2",["1"]
@@ -595,16 +595,16 @@ i18n.phonenumbers.metadata.countryToMetadata = {
595
595
  ,,,[,,"NA","NA"]
596
596
  ]
597
597
  ,"BB":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
598
- ,[,,"246[2-9]\\d{6}","\\d{7}(?:\\d{3})?"]
599
- ,[,,"246(?:(?:2[346]|45|82)\\d|25[0-46])\\d{4}","\\d{10}"]
598
+ ,[,,"246(?:2(?:2[78]|7[0-4])|4(?:1[024-6]|2\\d|3[2-9])|5(?:20|[34]\\d|54|7[1-3])|6(?:2\\d|38)|7(?:37|57)|9(?:1[89]|63))\\d{4}","\\d{7}(?:\\d{3})?"]
599
+ ,[,,"246(?:2(?:[356]\\d|4[0-57-9]|8[0-79])|45\\d|8(?:[2-5]\\d|83))\\d{4}","\\d{10}"]
600
600
  ,[,,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
601
- ,[,,"900[2-9]\\d{6}","\\d{10}"]
602
- ,[,,"NA","NA"]
603
- ,[,,"5(?:00|33|44|66|77)[2-9]\\d{6}","\\d{10}"]
601
+ ,[,,"900\\d{7}|246976\\d{4}","\\d{10}"]
604
602
  ,[,,"NA","NA"]
603
+ ,[,,"5(?:00|33|44|66|77)[2-9]\\d{3}","\\d{10}"]
604
+ ,[,,"24631\\d{5}","\\d{10}"]
605
605
  ,"BB",1,"011","1",,,"1",,,,,,[,,"NA","NA"]
606
606
  ,,"246",[,,"NA","NA"]
607
- ,[,,"NA","NA"]
607
+ ,[,,"246(?:292|41[7-9]|43[01])\\d{4}","\\d{10}"]
608
608
  ,,,[,,"NA","NA"]
609
609
  ]
610
610
  ,"BD":[,[,,"[2-79]\\d{5,9}|1\\d{9}|8[0-7]\\d{4,8}","\\d{6,10}"]
@@ -815,7 +815,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
815
815
  ]
816
816
  ,"BR":[,[,,"[1-46-9]\\d{7,10}|5\\d{8,9}","\\d{8,11}"]
817
817
  ,[,,"1[1-9][2-5]\\d{7}|(?:[4689][1-9]|2[12478]|3[1-578]|5[1-5]|7[13-579])[2-5]\\d{7}","\\d{8,11}"]
818
- ,[,,"1[1-9](?:7|9\\d)\\d{7}|(?:2[12478]|[89][1-9])9?[6-9]\\d{7}|(?:3[1-578]|[46][1-9]|5[1-5]|7[13-579])[6-9]\\d{7}","\\d{10,11}"]
818
+ ,[,,"1[1-9](?:7|9\\d)\\d{7}|(?:2[12478]|3[1-578]|7[13-579]|[89][1-9])9?[6-9]\\d{7}|(?:[46][1-9]|5[1-5])[6-9]\\d{7}","\\d{10,11}"]
819
819
  ,[,,"800\\d{6,7}","\\d{8,11}"]
820
820
  ,[,,"[359]00\\d{6,7}","\\d{8,11}"]
821
821
  ,[,,"[34]00\\d{5}","\\d{8}"]
@@ -827,7 +827,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
827
827
  ,"$1","",0]
828
828
  ,[,"(\\d{3,5})","$1",["1[125689]"]
829
829
  ,"$1","",0]
830
- ,[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478])9"]
830
+ ,[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478]|3[1-578]|7[13-579])9"]
831
831
  ,"($1)","0 $CC ($1)",0]
832
832
  ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"]
833
833
  ,"($1)","0 $CC ($1)",0]
@@ -836,7 +836,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
836
836
  ,[,"([3589]00)(\\d{2,3})(\\d{4})","$1 $2 $3",["[3589]00"]
837
837
  ,"0$1","",0]
838
838
  ]
839
- ,[[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478])9"]
839
+ ,[[,"(\\d{2})(\\d{5})(\\d{4})","$1 $2-$3",["(?:[189][1-9]|2[12478]|3[1-578]|7[13-579])9"]
840
840
  ,"($1)","0 $CC ($1)",0]
841
841
  ,[,"(\\d{2})(\\d{4})(\\d{4})","$1 $2-$3",["[1-9][1-9]"]
842
842
  ,"($1)","0 $CC ($1)",0]
@@ -851,7 +851,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
851
851
  ,,,[,,"NA","NA"]
852
852
  ]
853
853
  ,"BS":[,[,,"[2589]\\d{9}","\\d{7}(?:\\d{3})?"]
854
- ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:0[12]|12|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}","\\d{7}(?:\\d{3})?"]
854
+ ,[,,"242(?:3(?:02|[236][1-9]|4[0-24-9]|5[0-68]|7[3467]|8[0-4]|9[2-467])|461|502|6(?:0[1-3]|12|7[67]|8[78]|9[89])|7(?:02|88))\\d{4}","\\d{7}(?:\\d{3})?"]
855
855
  ,[,,"242(?:3(?:5[79]|[79]5)|4(?:[2-4][1-9]|5[1-8]|6[2-8]|7\\d|81)|5(?:2[45]|3[35]|44|5[1-9]|65|77)|6[34]6|727)\\d{4}","\\d{10}"]
856
856
  ,[,,"242300\\d{4}|8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
857
857
  ,[,,"900[2-9]\\d{6}","\\d{10}"]
@@ -1993,15 +1993,18 @@ i18n.phonenumbers.metadata.countryToMetadata = {
1993
1993
  ,[,,"NA","NA"]
1994
1994
  ,,,[,,"NA","NA"]
1995
1995
  ]
1996
- ,"GW":[,[,,"[3-79]\\d{6}","\\d{7}"]
1997
- ,[,,"3(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7}"]
1998
- ,[,,"(?:[5-7]\\d|9[012])\\d{5}","\\d{7}"]
1996
+ ,"GW":[,[,,"(?:4(?:0\\d{5}|4\\d{7})|9\\d{8})","\\d{7,9}"]
1997
+ ,[,,"443(?:2[0125]|3[1245]|4[12]|5[1-4]|70|9[1-467])\\d{4}","\\d{7,9}"]
1998
+ ,[,,"9(?:55\\d|6(?:6\\d|9[012])|77\\d)\\d{5}","\\d{7,9}"]
1999
1999
  ,[,,"NA","NA"]
2000
2000
  ,[,,"NA","NA"]
2001
2001
  ,[,,"NA","NA"]
2002
2002
  ,[,,"NA","NA"]
2003
- ,[,,"40\\d{5}","\\d{7}"]
2004
- ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{4})","$1 $2",,"","",0]
2003
+ ,[,,"40\\d{5}","\\d{7,9}"]
2004
+ ,"GW",245,"00",,,,,,,,[[,"(\\d{3})(\\d{3})(\\d{3})","$1 $2 $3",["44|9[567]"]
2005
+ ,"","",0]
2006
+ ,[,"(\\d{3})(\\d{4})","$1 $2",["40"]
2007
+ ,"","",0]
2005
2008
  ]
2006
2009
  ,,[,,"NA","NA"]
2007
2010
  ,,,[,,"NA","NA"]
@@ -2097,7 +2100,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2097
2100
  ,,,[,,"NA","NA"]
2098
2101
  ]
2099
2102
  ,"HT":[,[,,"[2-489]\\d{7}","\\d{8}"]
2100
- ,[,,"2(?:[24]\\d|5[1-5]|94)\\d{5}","\\d{8}"]
2103
+ ,[,,"2(?:[248]\\d|5[1-5]|94)\\d{5}","\\d{8}"]
2101
2104
  ,[,,"(?:3[1-9]\\d|4\\d{2}|9(?:8[0-35]|9[5-9]))\\d{5}","\\d{8}"]
2102
2105
  ,[,,"8\\d{7}","\\d{8}"]
2103
2106
  ,[,,"NA","NA"]
@@ -2129,9 +2132,9 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2129
2132
  ,[,,"NA","NA"]
2130
2133
  ,,,[,,"NA","NA"]
2131
2134
  ]
2132
- ,"ID":[,[,,"[1-9]\\d{6,10}","\\d{5,11}"]
2135
+ ,"ID":[,[,,"(?:[1-79]\\d{6,10}|8\\d{7,11})","\\d{5,12}"]
2133
2136
  ,[,,"2(?:1(?:14\\d{3}|[0-8]\\d{6,7}|500\\d{3}|9\\d{6})|2\\d{6,8}|4\\d{7,8})|(?:2(?:[35][1-4]|6[0-8]|7[1-6]|8\\d|9[1-8])|3(?:1|[25][1-8]|3[1-68]|4[1-3]|6[1-3568]|7[0-469]|8\\d)|4(?:0[1-589]|1[01347-9]|2[0-36-8]|3[0-24-68]|43|5[1-378]|6[1-5]|7[134]|8[1245])|5(?:1[1-35-9]|2[25-8]|3[124-9]|4[1-3589]|5[1-46]|6[1-8])|6(?:19?|[25]\\d|3[1-69]|4[1-6])|7(?:02|[125][1-9]|[36]\\d|4[1-8]|7[0-36-9])|9(?:0[12]|1[013-8]|2[0-479]|5[125-8]|6[23679]|7[159]|8[01346]))\\d{5,8}","\\d{5,11}"]
2134
- ,[,,"(?:2(?:1(?:3[145]|4[01]|5[1-469]|60|8[0359]|9\\d)|2(?:88|9[1256])|3[1-4]9|4(?:36|91)|5(?:1[349]|[2-4]9)|6[0-7]9|7(?:[1-36]9|4[39])|8[1-5]9|9[1-48]9)|3(?:19[1-3]|2[12]9|3[13]9|4(?:1[69]|39)|5[14]9|6(?:1[69]|2[89])|709)|4[13]19|5(?:1(?:19|8[39])|4[129]9|6[12]9)|6(?:19[12]|2(?:[23]9|77))|7(?:1[13]9|2[15]9|419|5(?:1[89]|29)|6[15]9|7[178]9))\\d{5,6}|8[1-35-9]\\d{7,9}","\\d{9,11}"]
2137
+ ,[,,"(?:2(?:1(?:3[145]|4[01]|5[1-469]|60|8[0359]|9\\d)|2(?:88|9[1256])|3[1-4]9|4(?:36|91)|5(?:1[349]|[2-4]9)|6[0-7]9|7(?:[1-36]9|4[39])|8[1-5]9|9[1-48]9)|3(?:19[1-3]|2[12]9|3[13]9|4(?:1[69]|39)|5[14]9|6(?:1[69]|2[89])|709)|4[13]19|5(?:1(?:19|8[39])|4[129]9|6[12]9)|6(?:19[12]|2(?:[23]9|77))|7(?:1[13]9|2[15]9|419|5(?:1[89]|29)|6[15]9|7[178]9))\\d{5,6}|8[1-35-9]\\d{7,10}","\\d{9,12}"]
2135
2138
  ,[,,"177\\d{6,8}|800\\d{5,7}","\\d{8,11}"]
2136
2139
  ,[,,"809\\d{7}","\\d{10}"]
2137
2140
  ,[,,"NA","NA"]
@@ -2141,7 +2144,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2141
2144
  ,"(0$1)","",0]
2142
2145
  ,[,"(\\d{3})(\\d{5,8})","$1 $2",["[4579]|2[035-9]|[36][02-9]"]
2143
2146
  ,"(0$1)","",0]
2144
- ,[,"(8\\d{2})(\\d{3,4})(\\d{3,4})","$1-$2-$3",["8[1-35-9]"]
2147
+ ,[,"(8\\d{2})(\\d{3,4})(\\d{3,5})","$1-$2-$3",["8[1-35-9]"]
2145
2148
  ,"0$1","",0]
2146
2149
  ,[,"(177)(\\d{6,8})","$1 $2",["1"]
2147
2150
  ,"0$1","",0]
@@ -2303,7 +2306,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2303
2306
  ]
2304
2307
  ,"IR":[,[,,"[1-8]\\d{9}|9(?:[0-4]\\d{8}|9\\d{2,8})","\\d{4,10}"]
2305
2308
  ,[,,"(?:1[137]|2[13-68]|3[1458]|4[145]|5[146-8]|6[146]|7[1467]|8[13467])\\d{8}","\\d{10}"]
2306
- ,[,,"9(?:0[12]|[1-3]\\d)\\d{7}","\\d{10}"]
2309
+ ,[,,"9(?:0[1-3]|[13]\\d|2[0-2]|90)\\d{7}","\\d{10}"]
2307
2310
  ,[,,"NA","NA"]
2308
2311
  ,[,,"NA","NA"]
2309
2312
  ,[,,"NA","NA"]
@@ -2643,13 +2646,13 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2643
2646
  ]
2644
2647
  ,"KW":[,[,,"[12569]\\d{6,7}","\\d{7,8}"]
2645
2648
  ,[,,"(?:18\\d|2(?:[23]\\d{2}|4(?:[1-35-9]\\d|44)|5(?:0[034]|[2-46]\\d|5[1-3]|7[1-7])))\\d{4}","\\d{7,8}"]
2646
- ,[,,"(?:5(?:[05]\\d|1[0-7])|6(?:0[034679]|5[015-9]|6\\d|7[067]|9[0369])|9(?:0[09]|22|4[01479]|55|6[0679]|[79]\\d|8[057-9]))\\d{5}","\\d{8}"]
2649
+ ,[,,"(?:5(?:[05]\\d{2}|1[0-7]\\d|2(?:22|55))|6(?:0[034679]\\d|5[015-9]\\d|6\\d{2}|7[067]\\d|9[0369]\\d)|9(?:0[09]\\d|22\\d|4[01479]\\d|55\\d|6[0679]\\d|[79]\\d{2}|8[057-9]\\d))\\d{4}","\\d{8}"]
2647
2650
  ,[,,"NA","NA"]
2648
2651
  ,[,,"NA","NA"]
2649
2652
  ,[,,"NA","NA"]
2650
2653
  ,[,,"NA","NA"]
2651
2654
  ,[,,"NA","NA"]
2652
- ,"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[126]|9[04-9]"]
2655
+ ,"KW",965,"00",,,,,,,,[[,"(\\d{4})(\\d{3,4})","$1 $2",["[126]|9[04-9]|52[25]"]
2653
2656
  ,"","",0]
2654
2657
  ,[,"(\\d{3})(\\d{5})","$1 $2",["5[015]|92"]
2655
2658
  ,"","",0]
@@ -2919,7 +2922,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2919
2922
  ]
2920
2923
  ,"MC":[,[,,"[4689]\\d{7,8}","\\d{8,9}"]
2921
2924
  ,[,,"870\\d{5}|9[2-47-9]\\d{6}","\\d{8}"]
2922
- ,[,,"6\\d{8}|4(?:4\\d|5[2-9])\\d{5}","\\d{8,9}"]
2925
+ ,[,,"6\\d{8}|4(?:4\\d|5[1-9])\\d{5}","\\d{8,9}"]
2923
2926
  ,[,,"90\\d{6}","\\d{8}"]
2924
2927
  ,[,,"NA","NA"]
2925
2928
  ,[,,"NA","NA"]
@@ -2941,7 +2944,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
2941
2944
  ]
2942
2945
  ,"MD":[,[,,"[235-9]\\d{7}","\\d{8}"]
2943
2946
  ,[,,"(?: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{8}"]
2944
- ,[,,"(?:562\\d|6(?:[089]\\d{2}|1[01]\\d|21\\d|7(?:[1-6]\\d|7[0-4]))|7(?:6[07]|7[457-9]|[89]\\d)\\d)\\d{4}","\\d{8}"]
2947
+ ,[,,"(?:562\\d|6(?:[089]\\d{2}|[12][01]\\d|7(?:[1-6]\\d|7[0-4]))|7(?:6[07]|7[457-9]|[89]\\d)\\d)\\d{4}","\\d{8}"]
2945
2948
  ,[,,"800\\d{5}","\\d{8}"]
2946
2949
  ,[,,"90[056]\\d{5}","\\d{8}"]
2947
2950
  ,[,,"808\\d{5}","\\d{8}"]
@@ -3567,11 +3570,11 @@ i18n.phonenumbers.metadata.countryToMetadata = {
3567
3570
  ,[,,"NA","NA"]
3568
3571
  ,,,[,,"NA","NA"]
3569
3572
  ]
3570
- ,"OM":[,[,,"(?:2[2-6]|5|9[1-9])\\d{6}|800\\d{5,6}","\\d{7,9}"]
3573
+ ,"OM":[,[,,"(?:2[2-6]|5|9\\d)\\d{6}|800\\d{5,6}","\\d{7,9}"]
3571
3574
  ,[,,"2[2-6]\\d{6}","\\d{8}"]
3572
- ,[,,"9[1-9]\\d{6}","\\d{8}"]
3575
+ ,[,,"9(?:0[1-9]|[1-9]\\d)\\d{5}","\\d{8}"]
3573
3576
  ,[,,"8007\\d{4,5}|500\\d{4}","\\d{7,9}"]
3574
- ,[,,"NA","NA"]
3577
+ ,[,,"(?:900)\\d{5}","\\d{8}"]
3575
3578
  ,[,,"NA","NA"]
3576
3579
  ,[,,"NA","NA"]
3577
3580
  ,[,,"NA","NA"]
@@ -3588,10 +3591,10 @@ i18n.phonenumbers.metadata.countryToMetadata = {
3588
3591
  ,,,[,,"NA","NA"]
3589
3592
  ]
3590
3593
  ,"PA":[,[,,"[1-9]\\d{6,7}","\\d{7,8}"]
3591
- ,[,,"(?:1(?:0[02-579]|19|2[37]|3[03]|4[479]|57|65|7[016-8]|8[58]|9[1349])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:[09]\\d|1[14-7]|2[0-3]|3[03]|4[0457]|5[56]|6[068]|7[06-8]|8[089])|4(?:3[013-69]|4\\d|7[0-689])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-267]|3[06]|[49]0|5[06-9]|7[0-24-7]|8[89])|8(?:[34]\\d|5[0-4]|8[02])|9(?:0[6-8]|1[016-8]|2[036-8]|3[3679]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}"]
3594
+ ,[,,"(?:1(?:0[0-8]|1[49]|2[37]|3[0137]|4[147]|5[05]|6[58]|7[0167]|8[58]|9[139])|2(?:[0235679]\\d|1[0-7]|4[04-9]|8[028])|3(?:[09]\\d|1[014-7]|2[0-3]|3[03]|4[03-57]|55|6[068]|7[06-8]|8[06-9])|4(?:3[013-69]|4\\d|7[0-589])|5(?:[01]\\d|2[0-7]|[56]0|79)|7(?:0[09]|2[0-267]|3[06]|[469]0|5[06-9]|7[0-24-79]|8[7-9])|8(?:09|[34]\\d|5[0134]|8[02])|9(?:0[6-9]|1[016-8]|2[036-8]|3[3679]|40|5[0489]|6[06-9]|7[046-9]|8[36-8]|9[1-9]))\\d{4}","\\d{7}"]
3592
3595
  ,[,,"(?:1[16]1|21[89]|8(?:1[01]|7[23]))\\d{4}|6(?:[024-9]\\d|1[0-5]|3[0-24-9])\\d{5}","\\d{7,8}"]
3593
3596
  ,[,,"80[09]\\d{4}","\\d{7}"]
3594
- ,[,,"(?:779|8(?:2[235]|55|60|7[578]|86|95)|9(?:0[0-2]|81))\\d{4}","\\d{7}"]
3597
+ ,[,,"(?:779|8(?:55|60|7[78])|9(?:00|81))\\d{4}","\\d{7}"]
3595
3598
  ,[,,"NA","NA"]
3596
3599
  ,[,,"NA","NA"]
3597
3600
  ,[,,"NA","NA"]
@@ -4260,7 +4263,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4260
4263
  ]
4261
4264
  ,"SO":[,[,,"[1-79]\\d{6,8}","\\d{7,9}"]
4262
4265
  ,[,,"(?:1\\d|2[0-79]|3[0-46-8]|4[0-7]|59)\\d{5}","\\d{7}"]
4263
- ,[,,"(?:15\\d|2(?:4\\d|8)|6[1-35-9]?\\d{2}|7(?:[1-8]\\d|99?\\d)|907\\d)\\d{5}","\\d{7,9}"]
4266
+ ,[,,"(?:15\\d|2(?:4\\d|8)|6[1-35-9]?\\d{2}|7(?:[1-8]\\d|99?\\d)|9(?:07|[2-9])\\d)\\d{5}","\\d{7,9}"]
4264
4267
  ,[,,"NA","NA"]
4265
4268
  ,[,,"NA","NA"]
4266
4269
  ,[,,"NA","NA"]
@@ -4270,7 +4273,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4270
4273
  ,"","",0]
4271
4274
  ,[,"(\\d)(\\d{7})","$1 $2",["24|[67]"]
4272
4275
  ,"","",0]
4273
- ,[,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[1-35-9]|799"]
4276
+ ,[,"(\\d{2})(\\d{5,7})","$1 $2",["15|28|6[1-35-9]|799|9[2-9]"]
4274
4277
  ,"","",0]
4275
4278
  ,[,"(90\\d)(\\d{3})(\\d{3})","$1 $2 $3",["90"]
4276
4279
  ,"","",0]
@@ -4602,7 +4605,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4602
4605
  ,,,[,,"NA","NA"]
4603
4606
  ]
4604
4607
  ,"TT":[,[,,"[589]\\d{9}","\\d{7}(?:\\d{3})?"]
4605
- ,[,,"868(?:2(?:01|2[1-5]|3[1-5])|6(?:0[79]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}","\\d{7}(?:\\d{3})?"]
4608
+ ,[,,"868(?:2(?:01|2[1-6]|3[1-5])|6(?:0[79]|1[02-8]|2[1-9]|[3-69]\\d|7[0-79])|82[124])\\d{4}","\\d{7}(?:\\d{3})?"]
4606
4609
  ,[,,"868(?:2(?:[789]\\d)|3(?:0[1-9]|1[02-9]|[2-9]\\d)|4[6-9]\\d|6(?:20|78|8\\d)|7(?:0[1-9]|1[02-9]|[2-9]\\d))\\d{4}","\\d{10}"]
4607
4610
  ,[,,"8(?:00|44|55|66|77|88)[2-9]\\d{6}","\\d{10}"]
4608
4611
  ,[,,"900[2-9]\\d{6}","\\d{10}"]
@@ -4861,7 +4864,7 @@ i18n.phonenumbers.metadata.countryToMetadata = {
4861
4864
  ]
4862
4865
  ,"VU":[,[,,"[2-57-9]\\d{4,6}","\\d{5,7}"]
4863
4866
  ,[,,"(?:2[02-9]\\d|3(?:[5-7]\\d|8[0-8])|48[4-9]|88\\d)\\d{2}","\\d{5}"]
4864
- ,[,,"(?:5(?:7[2-5]|[3-69]\\d)|7[013-7]\\d)\\d{4}","\\d{7}"]
4867
+ ,[,,"(?:5(?:7[2-5]|[0-689]\\d)|7[013-7]\\d)\\d{4}","\\d{7}"]
4865
4868
  ,[,,"NA","NA"]
4866
4869
  ,[,,"NA","NA"]
4867
4870
  ,[,,"NA","NA"]
@@ -1533,11 +1533,14 @@
1533
1533
  <sharedCost>
1534
1534
  <nationalNumberPattern>
1535
1535
  8(?:
1536
- 10|
1537
- 2[018]
1538
- )\d{6,10}
1536
+ 10\d|
1537
+ 2(?:
1538
+ [01]\d|
1539
+ 8\d?
1540
+ )
1541
+ )\d{5,9}
1539
1542
  </nationalNumberPattern>
1540
- <possibleNumberPattern>\d{9,13}</possibleNumberPattern>
1543
+ <possibleNumberPattern>\d{8,13}</possibleNumberPattern>
1541
1544
  <exampleNumber>810123456</exampleNumber>
1542
1545
  </sharedCost>
1543
1546
  <voip>
@@ -2063,19 +2066,53 @@
2063
2066
  <possibleNumberPattern>\d{7}(?:\d{3})?</possibleNumberPattern>
2064
2067
  </generalDesc>
2065
2068
  <fixedLine>
2066
- <nationalNumberPattern>246[2-9]\d{6}</nationalNumberPattern>
2067
- <exampleNumber>2462345678</exampleNumber>
2069
+ <nationalNumberPattern>
2070
+ 246(?:
2071
+ 2(?:
2072
+ 2[78]|
2073
+ 7[0-4]
2074
+ )|
2075
+ 4(?:
2076
+ 1[024-6]|
2077
+ 2\d|
2078
+ 3[2-9]
2079
+ )|
2080
+ 5(?:
2081
+ 20|
2082
+ [34]\d|
2083
+ 54|
2084
+ 7[1-3]
2085
+ )|
2086
+ 6(?:
2087
+ 2\d|
2088
+ 38
2089
+ )|
2090
+ 7(?:
2091
+ 37|
2092
+ 57
2093
+ )|
2094
+ 9(?:
2095
+ 1[89]|
2096
+ 63
2097
+ )
2098
+ )\d{4}
2099
+ </nationalNumberPattern>
2100
+ <exampleNumber>2464123456</exampleNumber>
2068
2101
  </fixedLine>
2069
2102
  <mobile>
2070
2103
  <!-- Prefix 256 was added from bug report. -->
2071
2104
  <nationalNumberPattern>
2072
2105
  246(?:
2073
- (?:
2074
- 2[346]|
2075
- 45|
2076
- 82
2077
- )\d|
2078
- 25[0-46]
2106
+ 2(?:
2107
+ [356]\d|
2108
+ 4[0-57-9]|
2109
+ 8[0-79]
2110
+ )|
2111
+ 45\d|
2112
+ 8(?:
2113
+ [2-5]\d|
2114
+ 83
2115
+ )
2079
2116
  )\d{4}
2080
2117
  </nationalNumberPattern>
2081
2118
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
@@ -2096,10 +2133,18 @@
2096
2133
  <exampleNumber>8002123456</exampleNumber>
2097
2134
  </tollFree>
2098
2135
  <premiumRate>
2099
- <nationalNumberPattern>900[2-9]\d{6}</nationalNumberPattern>
2136
+ <nationalNumberPattern>
2137
+ 900\d{7}|
2138
+ 246976\d{4}
2139
+ </nationalNumberPattern>
2100
2140
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
2101
2141
  <exampleNumber>9002123456</exampleNumber>
2102
2142
  </premiumRate>
2143
+ <voip>
2144
+ <nationalNumberPattern>24631\d{5}</nationalNumberPattern>
2145
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
2146
+ <exampleNumber>2463101234</exampleNumber>
2147
+ </voip>
2103
2148
  <personalNumber>
2104
2149
  <!-- http://www.nanpa.com/pdf/PL_466.pdf -->
2105
2150
  <nationalNumberPattern>
@@ -2109,11 +2154,23 @@
2109
2154
  44|
2110
2155
  66|
2111
2156
  77
2112
- )[2-9]\d{6}
2157
+ )[2-9]\d{3}
2113
2158
  </nationalNumberPattern>
2114
2159
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
2115
2160
  <exampleNumber>5002345678</exampleNumber>
2116
2161
  </personalNumber>
2162
+ <!-- CENTREX prefixes have been added under uan. -->
2163
+ <uan>
2164
+ <nationalNumberPattern>
2165
+ 246(?:
2166
+ 292|
2167
+ 41[7-9]|
2168
+ 43[01]
2169
+ )\d{4}
2170
+ </nationalNumberPattern>
2171
+ <possibleNumberPattern>\d{10}</possibleNumberPattern>
2172
+ <exampleNumber>2464301234</exampleNumber>
2173
+ </uan>
2117
2174
  </territory>
2118
2175
 
2119
2176
  <!-- Bangladesh -->
@@ -3287,7 +3344,9 @@
3287
3344
  <leadingDigits>
3288
3345
  (?:
3289
3346
  [189][1-9]|
3290
- 2[12478]
3347
+ 2[12478]|
3348
+ 3[1-578]|
3349
+ 7[13-579]
3291
3350
  )9
3292
3351
  </leadingDigits>
3293
3352
  <format>$1 $2-$3</format>
@@ -3343,7 +3402,7 @@
3343
3402
  last 8 digits. The following pattern is divided into 3 sections: ranges for which the
3344
3403
  migration has been completed, ranges which are in transition, and ranges which are
3345
3404
  still in the old format. (Ranges which were supposed to have been deprecated in
3346
- Oct. 2013 are still working as of May 2015.) Note that mobile radio services are
3405
+ Oct. 2013 are still working as of Oct. 2015.) Note that mobile radio services are
3347
3406
  still 10 digits, with the subscriber number (the last 8 digits) beginning with 7. -->
3348
3407
  <nationalNumberPattern>
3349
3408
  1[1-9](?:
@@ -3352,13 +3411,13 @@
3352
3411
  )\d{7}|
3353
3412
  (?:
3354
3413
  2[12478]|
3414
+ 3[1-578]|
3415
+ 7[13-579]|
3355
3416
  [89][1-9]
3356
3417
  )9?[6-9]\d{7}|
3357
3418
  (?:
3358
- 3[1-578]|
3359
3419
  [46][1-9]|
3360
- 5[1-5]|
3361
- 7[13-579]
3420
+ 5[1-5]
3362
3421
  )[6-9]\d{7}
3363
3422
  </nationalNumberPattern>
3364
3423
  <possibleNumberPattern>\d{10,11}</possibleNumberPattern>
@@ -3405,7 +3464,7 @@
3405
3464
  461|
3406
3465
  502|
3407
3466
  6(?:
3408
- 0[12]|
3467
+ 0[1-3]|
3409
3468
  12|
3410
3469
  7[67]|
3411
3470
  8[78]|
@@ -9124,36 +9183,58 @@
9124
9183
  <references>
9125
9184
  <sourceUrl>http://www.itu.int/oth/T020200005C/en</sourceUrl>
9126
9185
  </references>
9186
+ <availableFormats>
9187
+ <numberFormat pattern="(\d{3})(\d{3})(\d{3})">
9188
+ <leadingDigits>
9189
+ 44|
9190
+ 9[567]
9191
+ </leadingDigits>
9192
+ <format>$1 $2 $3</format>
9193
+ </numberFormat>
9194
+ </availableFormats>
9127
9195
  <availableFormats>
9128
9196
  <numberFormat pattern="(\d{3})(\d{4})">
9197
+ <leadingDigits>40</leadingDigits>
9129
9198
  <format>$1 $2</format>
9130
9199
  </numberFormat>
9131
9200
  </availableFormats>
9132
9201
  <generalDesc>
9133
- <nationalNumberPattern>[3-79]\d{6}</nationalNumberPattern>
9134
- <possibleNumberPattern>\d{7}</possibleNumberPattern>
9202
+ <nationalNumberPattern>
9203
+ (?:
9204
+ 4(?:
9205
+ 0\d{5}|
9206
+ 4\d{7}
9207
+ )|
9208
+ 9\d{8}
9209
+ )
9210
+ </nationalNumberPattern>
9211
+ <possibleNumberPattern>\d{7,9}</possibleNumberPattern>
9135
9212
  </generalDesc>
9136
9213
  <fixedLine>
9137
9214
  <nationalNumberPattern>
9138
- 3(?:
9139
- 2[0125]|
9140
- 3[1245]|
9141
- 4[12]|
9142
- 5[1-4]|
9143
- 70|
9144
- 9[1-467]
9145
- )\d{4}
9215
+ 443(?:
9216
+ 2[0125]|
9217
+ 3[1245]|
9218
+ 4[12]|
9219
+ 5[1-4]|
9220
+ 70|
9221
+ 9[1-467]
9222
+ )\d{4}
9146
9223
  </nationalNumberPattern>
9147
- <exampleNumber>3201234</exampleNumber>
9224
+ <exampleNumber>443201234</exampleNumber>
9148
9225
  </fixedLine>
9149
9226
  <mobile>
9150
9227
  <nationalNumberPattern>
9151
- (?:
9152
- [5-7]\d|
9153
- 9[012]
9228
+ 9(?:
9229
+ 55\d|
9230
+ 6(?:
9231
+ 6\d|
9232
+ 9[012]
9233
+ )|
9234
+ 77\d
9154
9235
  )\d{5}
9155
9236
  </nationalNumberPattern>
9156
- <exampleNumber>5012345</exampleNumber>
9237
+ <exampleNumber>955012345</exampleNumber>
9157
9238
  </mobile>
9158
9239
  <voip>
9159
9240
  <nationalNumberPattern>40\d{5}</nationalNumberPattern>
@@ -9524,7 +9605,7 @@
9524
9605
  <!-- The prefix 24 seems to be also used, based on online searches. -->
9525
9606
  <nationalNumberPattern>
9526
9607
  2(?:
9527
- [24]\d|
9608
+ [248]\d|
9528
9609
  5[1-5]|
9529
9610
  94
9530
9611
  )\d{5}
@@ -9672,7 +9753,7 @@
9672
9753
  </leadingDigits>
9673
9754
  <format>$1 $2</format>
9674
9755
  </numberFormat>
9675
- <numberFormat pattern="(8\d{2})(\d{3,4})(\d{3,4})">
9756
+ <numberFormat pattern="(8\d{2})(\d{3,4})(\d{3,5})">
9676
9757
  <leadingDigits>8[1-35-9]</leadingDigits>
9677
9758
  <format>$1-$2-$3</format>
9678
9759
  </numberFormat>
@@ -9692,8 +9773,13 @@
9692
9773
  </numberFormat>
9693
9774
  </availableFormats>
9694
9775
  <generalDesc>
9695
- <nationalNumberPattern>[1-9]\d{6,10}</nationalNumberPattern>
9696
- <possibleNumberPattern>\d{5,11}</possibleNumberPattern>
9776
+ <nationalNumberPattern>
9777
+ (?:
9778
+ [1-79]\d{6,10}|
9779
+ 8\d{7,11}
9780
+ )
9781
+ </nationalNumberPattern>
9782
+ <possibleNumberPattern>\d{5,12}</possibleNumberPattern>
9697
9783
  </generalDesc>
9698
9784
  <fixedLine>
9699
9785
  <!-- Area codes taken from wikipedia, with missing ones added from
@@ -9859,9 +9945,9 @@
9859
9945
  7[178]9
9860
9946
  )
9861
9947
  )\d{5,6}|
9862
- 8[1-35-9]\d{7,9}
9948
+ 8[1-35-9]\d{7,10}
9863
9949
  </nationalNumberPattern>
9864
- <possibleNumberPattern>\d{9,11}</possibleNumberPattern>
9950
+ <possibleNumberPattern>\d{9,12}</possibleNumberPattern>
9865
9951
  <exampleNumber>812345678</exampleNumber>
9866
9952
  </mobile>
9867
9953
  <tollFree>
@@ -11129,8 +11215,10 @@
11129
11215
  <mobile>
11130
11216
  <nationalNumberPattern>
11131
11217
  9(?:
11132
- 0[12]|
11133
- [1-3]\d
11218
+ 0[1-3]|
11219
+ [13]\d|
11220
+ 2[0-2]|
11221
+ 90
11134
11222
  )\d{7}
11135
11223
  </nationalNumberPattern>
11136
11224
  <possibleNumberPattern>\d{10}</possibleNumberPattern>
@@ -13728,7 +13816,8 @@
13728
13816
  <numberFormat pattern="(\d{4})(\d{3,4})">
13729
13817
  <leadingDigits>
13730
13818
  [126]|
13731
- 9[04-9]
13819
+ 9[04-9]|
13820
+ 52[25]
13732
13821
  </leadingDigits>
13733
13822
  <format>$1 $2</format>
13734
13823
  </numberFormat>
@@ -13770,26 +13859,30 @@
13770
13859
  <nationalNumberPattern>
13771
13860
  (?:
13772
13861
  5(?:
13773
- [05]\d|
13774
- 1[0-7]
13862
+ [05]\d{2}|
13863
+ 1[0-7]\d|
13864
+ 2(?:
13865
+ 22|
13866
+ 55
13867
+ )
13775
13868
  )|
13776
13869
  6(?:
13777
- 0[034679]|
13778
- 5[015-9]|
13779
- 6\d|
13780
- 7[067]|
13781
- 9[0369]
13870
+ 0[034679]\d|
13871
+ 5[015-9]\d|
13872
+ 6\d{2}|
13873
+ 7[067]\d|
13874
+ 9[0369]\d
13782
13875
  )|
13783
13876
  9(?:
13784
- 0[09]|
13785
- 22|
13786
- 4[01479]|
13787
- 55|
13788
- 6[0679]|
13789
- [79]\d|
13790
- 8[057-9]
13877
+ 0[09]\d|
13878
+ 22\d|
13879
+ 4[01479]\d|
13880
+ 55\d|
13881
+ 6[0679]\d|
13882
+ [79]\d{2}|
13883
+ 8[057-9]\d
13791
13884
  )
13792
- )\d{5}
13885
+ )\d{4}
13793
13886
  </nationalNumberPattern>
13794
13887
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
13795
13888
  <exampleNumber>50012345</exampleNumber>
@@ -15119,7 +15212,7 @@
15119
15212
  6\d{8}|
15120
15213
  4(?:
15121
15214
  4\d|
15122
- 5[2-9]
15215
+ 5[1-9]
15123
15216
  )\d{5}
15124
15217
  </nationalNumberPattern>
15125
15218
  <exampleNumber>612345678</exampleNumber>
@@ -15194,8 +15287,7 @@
15194
15287
  562\d|
15195
15288
  6(?:
15196
15289
  [089]\d{2}|
15197
- 1[01]\d|
15198
- 21\d|
15290
+ [12][01]\d|
15199
15291
  7(?:
15200
15292
  [1-6]\d|
15201
15293
  7[0-4]
@@ -17988,7 +18080,7 @@
17988
18080
  (?:
17989
18081
  2[2-6]|
17990
18082
  5|
17991
- 9[1-9]
18083
+ 9\d
17992
18084
  )\d{6}|
17993
18085
  800\d{5,6}
17994
18086
  </nationalNumberPattern>
@@ -18000,10 +18092,24 @@
18000
18092
  <exampleNumber>23123456</exampleNumber>
18001
18093
  </fixedLine>
18002
18094
  <mobile>
18003
- <nationalNumberPattern>9[1-9]\d{6}</nationalNumberPattern>
18095
+ <nationalNumberPattern>
18096
+ 9(?:
18097
+ 0[1-9]|
18098
+ [1-9]\d
18099
+ )\d{5}
18100
+ </nationalNumberPattern>
18004
18101
  <possibleNumberPattern>\d{8}</possibleNumberPattern>
18005
18102
  <exampleNumber>92123456</exampleNumber>
18006
18103
  </mobile>
18104
+ <premiumRate>
18105
+ <nationalNumberPattern>
18106
+ (?:
18107
+ 900
18108
+ )\d{5}
18109
+ </nationalNumberPattern>
18110
+ <possibleNumberPattern>\d{8}</possibleNumberPattern>
18111
+ <exampleNumber>90012345</exampleNumber>
18112
+ </premiumRate>
18007
18113
  <tollFree>
18008
18114
  <!-- Link to document about toll-free numbers on http://www.tra.gov.om, which suggests they
18009
18115
  should be 8007 followed by 4 digits. However, the only examples I can find, including
@@ -18053,16 +18159,16 @@
18053
18159
  <nationalNumberPattern>
18054
18160
  (?:
18055
18161
  1(?:
18056
- 0[02-579]|
18057
- 19|
18162
+ 0[0-8]|
18163
+ 1[49]|
18058
18164
  2[37]|
18059
- 3[03]|
18060
- 4[479]|
18061
- 57|
18062
- 65|
18063
- 7[016-8]|
18165
+ 3[0137]|
18166
+ 4[147]|
18167
+ 5[05]|
18168
+ 6[58]|
18169
+ 7[0167]|
18064
18170
  8[58]|
18065
- 9[1349]
18171
+ 9[139]
18066
18172
  )|
18067
18173
  2(?:
18068
18174
  [0235679]\d|
@@ -18072,19 +18178,19 @@
18072
18178
  )|
18073
18179
  3(?:
18074
18180
  [09]\d|
18075
- 1[14-7]|
18181
+ 1[014-7]|
18076
18182
  2[0-3]|
18077
18183
  3[03]|
18078
- 4[0457]|
18079
- 5[56]|
18184
+ 4[03-57]|
18185
+ 55|
18080
18186
  6[068]|
18081
18187
  7[06-8]|
18082
- 8[089]
18188
+ 8[06-9]
18083
18189
  )|
18084
18190
  4(?:
18085
18191
  3[013-69]|
18086
18192
  4\d|
18087
- 7[0-689]
18193
+ 7[0-589]
18088
18194
  )|
18089
18195
  5(?:
18090
18196
  [01]\d|
@@ -18096,18 +18202,19 @@
18096
18202
  0[09]|
18097
18203
  2[0-267]|
18098
18204
  3[06]|
18099
- [49]0|
18205
+ [469]0|
18100
18206
  5[06-9]|
18101
- 7[0-24-7]|
18102
- 8[89]
18207
+ 7[0-24-79]|
18208
+ 8[7-9]
18103
18209
  )|
18104
18210
  8(?:
18211
+ 09|
18105
18212
  [34]\d|
18106
- 5[0-4]|
18213
+ 5[0134]|
18107
18214
  8[02]
18108
18215
  )|
18109
18216
  9(?:
18110
- 0[6-8]|
18217
+ 0[6-9]|
18111
18218
  1[016-8]|
18112
18219
  2[036-8]|
18113
18220
  3[3679]|
@@ -18154,15 +18261,12 @@
18154
18261
  (?:
18155
18262
  779|
18156
18263
  8(?:
18157
- 2[235]|
18158
18264
  55|
18159
18265
  60|
18160
- 7[578]|
18161
- 86|
18162
- 95
18266
+ 7[78]
18163
18267
  )|
18164
18268
  9(?:
18165
- 0[0-2]|
18269
+ 00|
18166
18270
  81
18167
18271
  )
18168
18272
  )\d{4}
@@ -21036,7 +21140,8 @@
21036
21140
  15|
21037
21141
  28|
21038
21142
  6[1-35-9]|
21039
- 799
21143
+ 799|
21144
+ 9[2-9]
21040
21145
  </leadingDigits>
21041
21146
  <format>$1 $2</format>
21042
21147
  </numberFormat>
@@ -21083,7 +21188,10 @@
21083
21188
  [1-8]\d|
21084
21189
  99?\d
21085
21190
  )|
21086
- 907\d
21191
+ 9(?:
21192
+ 07|
21193
+ [2-9]
21194
+ )\d
21087
21195
  )\d{5}
21088
21196
  </nationalNumberPattern>
21089
21197
  <exampleNumber>71123456</exampleNumber>
@@ -22214,7 +22322,7 @@
22214
22322
  868(?:
22215
22323
  2(?:
22216
22324
  01|
22217
- 2[1-5]|
22325
+ 2[1-6]|
22218
22326
  3[1-5]
22219
22327
  )|
22220
22328
  6(?:
@@ -24059,7 +24167,7 @@
24059
24167
  (?:
24060
24168
  5(?:
24061
24169
  7[2-5]|
24062
- [3-69]\d
24170
+ [0-689]\d
24063
24171
  )|
24064
24172
  7[013-7]\d
24065
24173
  )\d{4}