phoner 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +31 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +184 -0
  6. data/Rakefile +12 -0
  7. data/lib/phoner.rb +10 -0
  8. data/lib/phoner/country.rb +120 -0
  9. data/lib/phoner/data/phone_countries.yml +1691 -0
  10. data/lib/phoner/phone.rb +222 -0
  11. data/lib/phoner/version.rb +3 -0
  12. data/phoner.gemspec +23 -0
  13. data/test/countries/ae_test.rb +15 -0
  14. data/test/countries/af_test.rb +12 -0
  15. data/test/countries/al_test.rb +12 -0
  16. data/test/countries/ar_test.rb +12 -0
  17. data/test/countries/at_test.rb +14 -0
  18. data/test/countries/au_test.rb +48 -0
  19. data/test/countries/ba_test.rb +9 -0
  20. data/test/countries/bd_test.rb +17 -0
  21. data/test/countries/be_test.rb +120 -0
  22. data/test/countries/bg_test.rb +13 -0
  23. data/test/countries/bo_test.rb +12 -0
  24. data/test/countries/br_test.rb +12 -0
  25. data/test/countries/bt_test.rb +9 -0
  26. data/test/countries/by_test.rb +12 -0
  27. data/test/countries/bz_test.rb +12 -0
  28. data/test/countries/ca_test.rb +20 -0
  29. data/test/countries/cr_test.rb +12 -0
  30. data/test/countries/cy_test.rb +12 -0
  31. data/test/countries/cz_test.rb +12 -0
  32. data/test/countries/de_test.rb +18 -0
  33. data/test/countries/dk_test.rb +12 -0
  34. data/test/countries/dz_test.rb +12 -0
  35. data/test/countries/ec_test.rb +12 -0
  36. data/test/countries/ee_test.rb +12 -0
  37. data/test/countries/eg_test.rb +9 -0
  38. data/test/countries/et_test.rb +11 -0
  39. data/test/countries/fi_test.rb +12 -0
  40. data/test/countries/fr_test.rb +22 -0
  41. data/test/countries/gb_test.rb +262 -0
  42. data/test/countries/ge_test.rb +12 -0
  43. data/test/countries/gh_test.rb +9 -0
  44. data/test/countries/gr_test.rb +9 -0
  45. data/test/countries/gt_test.rb +12 -0
  46. data/test/countries/gu_test.rb +9 -0
  47. data/test/countries/gy_test.rb +9 -0
  48. data/test/countries/hr_test.rb +75 -0
  49. data/test/countries/hu_test.rb +12 -0
  50. data/test/countries/il_test.rb +12 -0
  51. data/test/countries/in_test.rb +45 -0
  52. data/test/countries/ir_test.rb +13 -0
  53. data/test/countries/it_test.rb +16 -0
  54. data/test/countries/ke_test.rb +12 -0
  55. data/test/countries/lk_test.rb +9 -0
  56. data/test/countries/lu_test.rb +16 -0
  57. data/test/countries/ng_test.rb +9 -0
  58. data/test/countries/nl_test.rb +383 -0
  59. data/test/countries/no_test.rb +12 -0
  60. data/test/countries/np_test.rb +15 -0
  61. data/test/countries/ph_test.rb +9 -0
  62. data/test/countries/pk_test.rb +9 -0
  63. data/test/countries/pt_test.rb +129 -0
  64. data/test/countries/qa_test.rb +9 -0
  65. data/test/countries/rs_test.rb +15 -0
  66. data/test/countries/sa_test.rb +9 -0
  67. data/test/countries/se_test.rb +478 -0
  68. data/test/countries/si_test.rb +19 -0
  69. data/test/countries/sv_test.rb +12 -0
  70. data/test/countries/to_test.rb +12 -0
  71. data/test/countries/ua_test.rb +17 -0
  72. data/test/countries/us_test.rb +24 -0
  73. data/test/countries/uy_test.rb +20 -0
  74. data/test/countries/za_test.rb +19 -0
  75. data/test/countries/zw_test.rb +12 -0
  76. data/test/country_test.rb +27 -0
  77. data/test/extension_test.rb +30 -0
  78. data/test/phone_test.rb +149 -0
  79. data/test/test_helper.rb +33 -0
  80. metadata +237 -0
@@ -0,0 +1 @@
1
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in phoner.gemspec
4
+ gemspec
5
+
6
+ group :development do
7
+ gem 'debugger'
8
+ end
@@ -0,0 +1,31 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ phoner (1.0)
5
+ activesupport
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ activesupport (3.2.9)
11
+ i18n (~> 0.6)
12
+ multi_json (~> 1.0)
13
+ columnize (0.3.6)
14
+ debugger (1.2.2)
15
+ columnize (>= 0.3.1)
16
+ debugger-linecache (~> 1.1.1)
17
+ debugger-ruby_core_source (~> 1.1.5)
18
+ debugger-linecache (1.1.2)
19
+ debugger-ruby_core_source (>= 1.1.1)
20
+ debugger-ruby_core_source (1.1.5)
21
+ i18n (0.6.1)
22
+ multi_json (1.3.7)
23
+ rake (10.0.2)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ debugger
30
+ phoner!
31
+ rake
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 tchak
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,184 @@
1
+ # Phoner
2
+ Parsing, validating and creating phone numbers
3
+
4
+ ## Install
5
+ You can install the phone library as a gem
6
+ ````
7
+ gem install phoner
8
+ ````
9
+
10
+ ## Difference with `phone`
11
+ * Rename the gem to phoner
12
+ * Use `active_support`
13
+ * Proper packaging
14
+
15
+ ## Initializing
16
+ You can initialize a new phone object with the number, area code, country code and extension number
17
+ ````
18
+ Phoner::Phone.new('5125486', '91', '385')
19
+ ````
20
+ or
21
+ ````
22
+ Phoner::Phone.new(:number => '5125486', :area_code => '91', :country_code => '385', :extension => '143')
23
+ ````
24
+
25
+ ## Parsing
26
+ You can create a new phone object by parsing from a string. Phoner::Phone does it's best to detect the country and area codes:
27
+ ````
28
+ Phoner::Phone.parse '+385915125486'
29
+ Phoner::Phone.parse '00385915125486'
30
+ ````
31
+
32
+ If the country or area code isn't given in the string, you must set it, otherwise it doesn't work:
33
+ ````
34
+ Phoner::Phone.parse '091/512-5486', :country_code => '385'
35
+ Phoner::Phone.parse '(091) 512 5486', :country_code => '385'
36
+ ````
37
+
38
+ If you feel that it's tedious, set the default country code once (in your config/environment.rb):
39
+ ````
40
+ Phoner::Phone.default_country_code = '385'
41
+ Phoner::Phone.parse '091/512-5486'
42
+ Phoner::Phone.parse '(091) 512 5486'
43
+ ````
44
+ Same goes for the area code:
45
+ ````
46
+ Phoner::Phone.parse '451-588', :country_code => '385', :area_code => '47'
47
+ ````
48
+ or
49
+ ````
50
+ Phoner::Phone.default_country_code = '385'
51
+ Phoner::Phone.default_area_code = '47'
52
+ ````
53
+
54
+ ````
55
+ Phoner::Phone.parse '451-588'
56
+ ````
57
+
58
+ ### Automatic country and area code detection
59
+ Like it's stated above, Phone does it's best to automatically detect the country and area code while parsing. Do do this,
60
+ phone uses data stored in `data/countries.yml`.
61
+
62
+ Each country code can have a regular expression named `area_code` that describes how the area code for that
63
+ particular country looks like.
64
+
65
+ If an `area_code` regular expression isn't specified, the default, `Phoner::Phone::DEFAULT_AREA_CODE` (correct for
66
+ the US) is used.
67
+
68
+ ## Validating
69
+
70
+ Validating is very relaxed, basically it strips out everything that's not a number or '+' character:
71
+ ````
72
+ Phoner::Phone.valid? 'blabla 091/512-5486 blabla'
73
+ ````
74
+
75
+ ## Formatting
76
+ Formating is done via the `format` method. The method accepts a `Symbol` or a `String`.
77
+
78
+ When given a string, it interpolates the string with the following fields:
79
+
80
+ * %c - country_code (385)
81
+ * %a - area_code (91)
82
+ * %A - area_code with leading zero (091)
83
+ * %n - number (5125486)
84
+ * %f - first @@n1_length characters of number (configured through Phoner::Phone.n1_length), default is 3 (512)
85
+ * %l - last characters of number (5486)
86
+ * %x - the extension number
87
+
88
+ ````
89
+ pn = Phoner::Phone.parse('+385915125486')
90
+ pn.to_s # => "+385915125486"
91
+ pn.format("%A/%f-%l") # => "091/512-5486"
92
+ pn.format("+ %c (%a) %n") # => "+ 385 (91) 5125486"
93
+ ````
94
+
95
+ When given a symbol it is used as a lookup for the format in the `Phoner::Phone.named_formats` hash.
96
+ ````
97
+ pn.format(:europe) # => "+385 (0) 91 512 5486"
98
+ pn.format(:us) # => "(234) 123 4567"
99
+ pn.format(:default_with_extension) # => "+3851234567x143"
100
+ ````
101
+
102
+ You can add your own custom named formats like so:
103
+ ````
104
+ Phoner::Phone.named_formats[:short] = '%A/%n1-%n2'
105
+ pn.format(:short) # => 091/512-5486
106
+ ````
107
+
108
+ ## TODO
109
+ Parse testing for different countries.
110
+
111
+ Currently tested on:
112
+ [AF] Afghanistan
113
+ [AL] Albania
114
+ [AR] Argentina
115
+ [AT] Austria
116
+ [AU] Australia
117
+ [BA] Bosnia and Herzegovina
118
+ [BD] Bangladesh
119
+ [BE] Belgium
120
+ [BG] Bulgaria
121
+ [BO] Bolivia
122
+ [BR] Brazil
123
+ [BT] Bhutan
124
+ [BY] Belarus
125
+ [BZ] Belize
126
+ [CA] Canada
127
+ [CR] Costa Rica
128
+ [CY] Cyprus
129
+ [CZ] Czech Republic
130
+ [DE] Germany
131
+ [DK] Denmark
132
+ [DZ] Algeria
133
+ [EC] Ecuador
134
+ [EE] Estonia
135
+ [EG] Egypt
136
+ [ET] Ethiopia
137
+ [FI] Finland
138
+ [FR] France
139
+ [GB] United Kingdom
140
+ [GE] Georgia
141
+ [GH] Ghana
142
+ [GR} Greece
143
+ [GU] Guam
144
+ [GT] Guatemala
145
+ [GY] Guyana
146
+ [HR] Croatia
147
+ [HU] Hungary
148
+ [IL] Israel
149
+ [IN] India
150
+ [IR] Iran
151
+ [KE] Kenya
152
+ [LK] Sri Lanka
153
+ [NG] Nigeria
154
+ [NL] Netherlands
155
+ [NO] Norway
156
+ [NP] Nepal
157
+ [PH] Philippines
158
+ [PK] Pakistan
159
+ [QA] Qatar
160
+ [RS] Serbia
161
+ [SA] Saudi Arabia
162
+ [SE] Sweden
163
+ [SI] Slovenia
164
+ [SV] El Salvador
165
+ [TO] Tonga
166
+ [UA] Ukraine
167
+ [US] United States
168
+ [ZA] South Africa
169
+ [ZW] Zimbabwe
170
+
171
+ ## Contributing
172
+
173
+ More testing is needed to add support for missing countries, and improve support for tested countries. In many cases only minimal testing is done on area codes, local number formats and number length where more exact matching is possible.
174
+
175
+ The best places to start is to read through the country tests and `data/phone_countries.rb`
176
+
177
+ 1. Fork it
178
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
179
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
180
+ 4. Push to the branch (`git push origin my-new-feature`)
181
+ 5. Create new Pull Request
182
+
183
+ ## Contributors
184
+ Tomislav Carr, Don Morrison, Michael Squires, Todd Eichel (Fooala, Inc.), chipiga, Etienne Samson, Luke Randall, Wesley Moxam
@@ -0,0 +1,12 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ desc "Default: run unit tests."
5
+ task :default => :test
6
+
7
+ desc "Run unit tests."
8
+ Rake::TestTask.new(:test) do |t|
9
+ t.libs << 'lib'
10
+ t.pattern = 'test/**/*_test.rb'
11
+ t.verbose = true
12
+ end
@@ -0,0 +1,10 @@
1
+ require "phoner/version"
2
+
3
+ require "active_support/core_ext/class/attribute_accessors"
4
+ require "active_support/core_ext/object/blank"
5
+
6
+ require "phoner/phone"
7
+ require "phoner/country"
8
+
9
+ module Phoner
10
+ end
@@ -0,0 +1,120 @@
1
+ module Phoner
2
+ class Country < Struct.new(:name, :country_code, :char_2_code, :char_3_code, :area_code, :local_number_format, :mobile_format, :full_number_length, :number_format)
3
+ cattr_accessor :all
4
+
5
+ def self.load
6
+ return @@all if @@all.present?
7
+
8
+ data_file = File.join(File.dirname(__FILE__), 'data', 'phone_countries.yml')
9
+
10
+ @@all = []
11
+ YAML.load(File.read(data_file)).each_pair do |key, c|
12
+ next unless c[:area_code] && c[:local_number_format]
13
+ @@all << Country.new(c[:name], c[:country_code], c[:char_2_code], c[:char_3_code], c[:area_code], c[:local_number_format], c[:mobile_format], c[:full_number_length], c[:number_format])
14
+ end
15
+ @@all
16
+ end
17
+
18
+ def to_s
19
+ name
20
+ end
21
+
22
+ def self.find_all_by_phone_code(code)
23
+ return [] if code.nil?
24
+ @@all.select {|c| c.country_code == code }
25
+ end
26
+
27
+ def self.find_by_country_code(code)
28
+ return nil if code.nil?
29
+ @@all.each {|c| return c if c.char_3_code.downcase == code.downcase }
30
+ nil
31
+ end
32
+
33
+ def self.find_by_name(name)
34
+ return nil if name.nil?
35
+ @@all.each {|c| return c if c.name.downcase == name.downcase }
36
+ nil
37
+ end
38
+
39
+ # detect country from the string entered
40
+ def self.detect(string, default_country_code, default_area_code)
41
+ Country.find_all_by_phone_code(default_country_code).each do |country|
42
+ return country if country.matches_local_number?(string, default_area_code)
43
+ end
44
+
45
+ # find if the number has a country code
46
+ Country.all.each do |country|
47
+ return country if country.matches_full_number?(string)
48
+ end
49
+ return nil
50
+ end
51
+
52
+ def is_mobile?(number)
53
+ return true if mobile_format.nil?
54
+ number =~ mobile_number_regex ? true : false
55
+ end
56
+
57
+ def matches_local_number?(string, default_area_code)
58
+ ((string =~ full_number_regexp ||
59
+ string =~ area_code_number_regexp) && string =~ number_format_regex) ||
60
+ ((string =~ number_regex) && (default_area_code =~ area_code_regex))
61
+ end
62
+
63
+ def matches_full_number?(string)
64
+ string =~ full_number_regexp && string =~ number_format_regex
65
+ end
66
+
67
+ def number_parts(number, default_area_code)
68
+ number_part = if default_area_code
69
+ number.match(number_regex)
70
+ $1
71
+ else
72
+ nil
73
+ end
74
+
75
+ if number_part.nil?
76
+ matches = number.match(area_code_number_regexp)
77
+ area_part = $1
78
+ number_part = matches.to_a.last
79
+ end
80
+
81
+ if number_part.nil?
82
+ matches = number.match(full_number_regexp)
83
+ country_part, area_part = $1, $2
84
+ number_part = matches.to_a.last
85
+ end
86
+
87
+ area_part ||= default_area_code
88
+
89
+ raise "Could not determine area code" if area_part.nil?
90
+ raise "Could not determine number" if number_part.nil?
91
+
92
+ {:number => number_part, :area_code => area_part, :country_code => country_code, :country => self}
93
+ end
94
+
95
+ private
96
+ def number_format_regex
97
+ Regexp.new("^[+0]?(#{country_code})?(#{number_format})$")
98
+ end
99
+
100
+ def full_number_regexp
101
+ Regexp.new("^[+]?(#{country_code})(#{area_code})(#{local_number_format})$")
102
+ end
103
+
104
+ def area_code_number_regexp
105
+ Regexp.new("^0?(#{area_code})(#{local_number_format})$")
106
+ end
107
+
108
+ def area_code_regex
109
+ Regexp.new("^0?(#{area_code})$")
110
+ end
111
+
112
+ def mobile_number_regex
113
+ Regexp.new("^0?(#{mobile_format})$")
114
+ end
115
+
116
+ def number_regex
117
+ Regexp.new("^(#{local_number_format})$")
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,1691 @@
1
+ ---
2
+ "676":
3
+ :country_code: "676"
4
+ :national_dialing_prefix: None
5
+ :char_2_code: None
6
+ :char_3_code: "TO"
7
+ :name: Tonga
8
+ :international_dialing_prefix: "00"
9
+ :area_code: "[2-8]\\d"
10
+ :local_number_format: "\\d{3}"
11
+ :mobile_format: "8[789]\\d{3}"
12
+ :number_format: "\\d{5}"
13
+ "54":
14
+ :country_code: "54"
15
+ :national_dialing_prefix: "0"
16
+ :char_2_code: "0"
17
+ :char_3_code: "AR"
18
+ :name: Argentina
19
+ :international_dialing_prefix: "00"
20
+ :area_code: "11|291|3833|297|345|351|37(83|17)|3525|22[13]|3822|2324|299|343|37[25]2|258|241|287|26[14]|26(27|52)|2461|342|285|2756|2293|2965|\\d{2,4}"
21
+ :local_number_format: "\\d{6,8}"
22
+ :mobile_format: "9\\d{10}"
23
+ :number_format: "[1-8]\\d{9}|9\\d{10}"
24
+ "506":
25
+ :country_code: "506"
26
+ :national_dialing_prefix: None
27
+ :char_2_code: None
28
+ :char_3_code: "CR"
29
+ :name: Costa Rica
30
+ :international_dialing_prefix: "00"
31
+ :area_code: "[28]"
32
+ :local_number_format: "\\d{7}"
33
+ :mobile_format: "8\\d{7}"
34
+ :number_format: "\\d{8}"
35
+ "251":
36
+ :country_code: "251"
37
+ :national_dialing_prefix: "0"
38
+ :char_2_code: "0"
39
+ :char_3_code: "ET"
40
+ :name: Ethiopia
41
+ :international_dialing_prefix: "00"
42
+ :area_code: "11|3[34]|2[25]|5[78]|4[67]|91"
43
+ :local_number_format: "\\d{7}"
44
+ :mobile_format: "91\\d{7}"
45
+ :number_format: "\\d{9}"
46
+ "590":
47
+ :country_code: "590"
48
+ :national_dialing_prefix: None
49
+ :char_2_code: None
50
+ :char_3_code: "GP"
51
+ :name: Guadeloupe
52
+ :international_dialing_prefix: "00"
53
+ "82":
54
+ :country_code: "82"
55
+ :national_dialing_prefix: "0"
56
+ :char_2_code: "0"
57
+ :char_3_code: "KR"
58
+ :name: Korea, Republic of
59
+ :international_dialing_prefix: "001"
60
+ "223":
61
+ :country_code: "223"
62
+ :national_dialing_prefix: "0"
63
+ :char_2_code: "0"
64
+ :char_3_code: "ML"
65
+ :name: Mali
66
+ :international_dialing_prefix: "00"
67
+ "420":
68
+ :country_code: "420"
69
+ :national_dialing_prefix: None
70
+ :char_2_code: None
71
+ :char_3_code: "CZ"
72
+ :name: Czech Republic
73
+ :international_dialing_prefix: "00"
74
+ :area_code: "2|7|[3-9]\\d|8"
75
+ :local_number_format: "\\d{7,8}"
76
+ :mobile_format: "[78]\\d{8}"
77
+ :number_format: "\\d{9}"
78
+ "252":
79
+ :country_code: "252"
80
+ :national_dialing_prefix: None
81
+ :char_2_code: None
82
+ :char_3_code: "SO"
83
+ :name: Somalia
84
+ :international_dialing_prefix: "00"
85
+ "677":
86
+ :country_code: "677"
87
+ :national_dialing_prefix: None
88
+ :char_2_code: None
89
+ :char_3_code: "SB"
90
+ :name: Solomon Islands
91
+ :international_dialing_prefix: "00"
92
+ "421":
93
+ :country_code: "421"
94
+ :national_dialing_prefix: "0"
95
+ :char_2_code: "0"
96
+ :char_3_code: "SK"
97
+ :name: Slovakia
98
+ :international_dialing_prefix: "00"
99
+ "507":
100
+ :country_code: "507"
101
+ :national_dialing_prefix: None
102
+ :char_2_code: None
103
+ :char_3_code: "PA"
104
+ :name: Panama
105
+ :international_dialing_prefix: "00"
106
+ "591":
107
+ :country_code: "591"
108
+ :national_dialing_prefix: "10"
109
+ :char_2_code: "10"
110
+ :char_3_code: "BO"
111
+ :name: Bolivia
112
+ :international_dialing_prefix: "00"
113
+ :area_code: "[1-9]"
114
+ :local_number_format: "\\d{7}"
115
+ :mobile_format: "7\\d{7}"
116
+ :number_format: "\\d{8}"
117
+ "224":
118
+ :country_code: "224"
119
+ :national_dialing_prefix: None
120
+ :char_2_code: None
121
+ :char_3_code: "GN"
122
+ :name: Guinea
123
+ :international_dialing_prefix: "00"
124
+ "84":
125
+ :country_code: "84"
126
+ :national_dialing_prefix: "0"
127
+ :char_2_code: "0"
128
+ :char_3_code: "VN"
129
+ :name: Viet Nam
130
+ :international_dialing_prefix: "00"
131
+ "678":
132
+ :country_code: "678"
133
+ :national_dialing_prefix: None
134
+ :char_2_code: None
135
+ :char_3_code: "VU"
136
+ :name: Vanuatu
137
+ :international_dialing_prefix: "00"
138
+ "27":
139
+ :country_code: "27"
140
+ :national_dialing_prefix: "0"
141
+ :char_2_code: "0"
142
+ :char_3_code: "ZA"
143
+ :name: South Africa
144
+ :international_dialing_prefix: "00"
145
+ :area_code: "800|86[01]|[1-57-8]\\d"
146
+ :local_number_format: "\\d{6,7}"
147
+ :mobile_format: "7\\d{8}|8[1-9]\\d{7}"
148
+ :number_format: "\\d{9}"
149
+ "508":
150
+ :country_code: "508"
151
+ :national_dialing_prefix: "0"
152
+ :char_2_code: "0"
153
+ :char_3_code: "PM"
154
+ :name: Saint Pierre And Miquelon
155
+ :international_dialing_prefix: "00"
156
+ "55":
157
+ :country_code: "55"
158
+ :national_dialing_prefix: "14"
159
+ :char_2_code: "14"
160
+ :char_3_code: "BR"
161
+ :name: Brazil
162
+ :international_dialing_prefix: "00"
163
+ :area_code: "\\d{2}"
164
+ :local_number_format: "\\d{7,8}"
165
+ :mobile_format: "11[6789]\\d{7}"
166
+ :number_format: "\\d{10}"
167
+ "253":
168
+ :country_code: "253"
169
+ :national_dialing_prefix: None
170
+ :char_2_code: None
171
+ :char_3_code: "DJ"
172
+ :name: Djibouti
173
+ :international_dialing_prefix: "00"
174
+ "592":
175
+ :country_code: "592"
176
+ :national_dialing_prefix: None
177
+ :char_2_code: None
178
+ :char_3_code: "GY"
179
+ :name: Guyana
180
+ :international_dialing_prefix: "001"
181
+ :area_code: "21[89]|2(2[3567]|31|6[023])|3(28|3[34])|44[14]|455|777|6\\d{2}"
182
+ :local_number_format: "\\d{4}"
183
+ :mobile_format: "6\\d{6}"
184
+ :number_format: "\\d{7}"
185
+ "225":
186
+ :country_code: "225"
187
+ :national_dialing_prefix: "0"
188
+ :char_2_code: "0"
189
+ :char_3_code: "CI"
190
+ :name: "C\xC3\xB4te D'Ivoire"
191
+ :international_dialing_prefix: "00"
192
+ "56":
193
+ :country_code: "56"
194
+ :national_dialing_prefix: "0"
195
+ :char_2_code: "0"
196
+ :char_3_code: "CL"
197
+ :name: Chile
198
+ :international_dialing_prefix: "00"
199
+ "679":
200
+ :country_code: "679"
201
+ :national_dialing_prefix: None
202
+ :char_2_code: None
203
+ :char_3_code: "FJ"
204
+ :name: Fiji
205
+ :international_dialing_prefix: "00"
206
+ "509":
207
+ :country_code: "509"
208
+ :national_dialing_prefix: None
209
+ :char_2_code: None
210
+ :char_3_code: "HT"
211
+ :name: Haiti
212
+ :international_dialing_prefix: "00"
213
+ "593":
214
+ :country_code: "593"
215
+ :national_dialing_prefix: "0"
216
+ :char_2_code: "0"
217
+ :char_3_code: "EC"
218
+ :name: Ecuador
219
+ :international_dialing_prefix: "00"
220
+ :area_code: "\\d"
221
+ :local_number_format: "\\d{7}"
222
+ :mobile_format: "[89]\\d{7}"
223
+ :number_format: "\\d{8}"
224
+ "254":
225
+ :country_code: "254"
226
+ :national_dialing_prefix: "0"
227
+ :char_2_code: "0"
228
+ :char_3_code: "KE"
229
+ :name: Kenya
230
+ :international_dialing_prefix: "00"
231
+ :area_code: "[2-9]\\d"
232
+ :local_number_format: "\\d{5,7}"
233
+ :mobile_format: "7\\d{8}"
234
+ :number_format: "\\d{7,9}"
235
+ "226":
236
+ :country_code: "226"
237
+ :national_dialing_prefix: None
238
+ :char_2_code: None
239
+ :char_3_code: "BF"
240
+ :name: Burkina Faso
241
+ :international_dialing_prefix: "00"
242
+ "423":
243
+ :country_code: "423"
244
+ :national_dialing_prefix: None
245
+ :char_2_code: None
246
+ :char_3_code: "LI"
247
+ :name: Liechtenstein
248
+ :international_dialing_prefix: "00"
249
+ "255":
250
+ :country_code: "255"
251
+ :national_dialing_prefix: "0"
252
+ :char_2_code: "0"
253
+ :char_3_code: "TZ"
254
+ :name: Tanzania, United Republic of
255
+ :international_dialing_prefix: "00"
256
+ "227":
257
+ :country_code: "227"
258
+ :national_dialing_prefix: "0"
259
+ :char_2_code: "0"
260
+ :char_3_code: "NE"
261
+ :name: Niger
262
+ :international_dialing_prefix: "00"
263
+ "594":
264
+ :country_code: "594"
265
+ :national_dialing_prefix: None
266
+ :char_2_code: None
267
+ :char_3_code: "GF"
268
+ :name: French Guiana
269
+ :international_dialing_prefix: "00"
270
+ "86":
271
+ :country_code: "86"
272
+ :national_dialing_prefix: "0"
273
+ :char_2_code: "0"
274
+ :char_3_code: "CN"
275
+ :name: China
276
+ :international_dialing_prefix: "00"
277
+ "960":
278
+ :country_code: "960"
279
+ :national_dialing_prefix: None
280
+ :char_2_code: None
281
+ :char_3_code: "MV"
282
+ :name: Maldives
283
+ :international_dialing_prefix: "00"
284
+ "57":
285
+ :country_code: "57"
286
+ :national_dialing_prefix: "5"
287
+ :char_2_code: "5"
288
+ :char_3_code: "CO"
289
+ :name: Colombia
290
+ :international_dialing_prefix: "00"
291
+ "58":
292
+ :country_code: "58"
293
+ :national_dialing_prefix: "0"
294
+ :char_2_code: "0"
295
+ :char_3_code: "VE"
296
+ :name: Venezuela, Bolivarian Republic of
297
+ :international_dialing_prefix: "00"
298
+ "256":
299
+ :country_code: "256"
300
+ :national_dialing_prefix: "0"
301
+ :char_2_code: "0"
302
+ :char_3_code: "UG"
303
+ :name: Uganda
304
+ :international_dialing_prefix: "00"
305
+ "228":
306
+ :country_code: "228"
307
+ :national_dialing_prefix: None
308
+ :char_2_code: None
309
+ :char_3_code: "TG"
310
+ :name: Togo
311
+ :international_dialing_prefix: "00"
312
+ "595":
313
+ :country_code: "595"
314
+ :national_dialing_prefix: "0"
315
+ :char_2_code: "0"
316
+ :char_3_code: "PY"
317
+ :name: Paraguay
318
+ :international_dialing_prefix: "00"
319
+ "961":
320
+ :country_code: "961"
321
+ :national_dialing_prefix: "0"
322
+ :char_2_code: "0"
323
+ :char_3_code: "LB"
324
+ :name: Lebanon
325
+ :international_dialing_prefix: "00"
326
+ "596":
327
+ :country_code: "596"
328
+ :national_dialing_prefix: None
329
+ :char_2_code: None
330
+ :char_3_code: "MQ"
331
+ :name: Martinique
332
+ :international_dialing_prefix: "00"
333
+ "257":
334
+ :country_code: "257"
335
+ :national_dialing_prefix: None
336
+ :char_2_code: None
337
+ :char_3_code: "BI"
338
+ :name: Burundi
339
+ :international_dialing_prefix: "00"
340
+ "229":
341
+ :country_code: "229"
342
+ :national_dialing_prefix: None
343
+ :char_2_code: None
344
+ :char_3_code: "BJ"
345
+ :name: Benin
346
+ :international_dialing_prefix: "00"
347
+ "962":
348
+ :country_code: "962"
349
+ :national_dialing_prefix: "0"
350
+ :char_2_code: "0"
351
+ :char_3_code: "JO"
352
+ :name: Jordan
353
+ :international_dialing_prefix: "00"
354
+ "963":
355
+ :country_code: "963"
356
+ :national_dialing_prefix: "0"
357
+ :char_2_code: "0"
358
+ :char_3_code: "SY"
359
+ :name: Syrian Arab Republic
360
+ :international_dialing_prefix: "00"
361
+ "597":
362
+ :country_code: "597"
363
+ :national_dialing_prefix: "0"
364
+ :char_2_code: "0"
365
+ :char_3_code: "SR"
366
+ :name: Suriname
367
+ :international_dialing_prefix: "00"
368
+ "680":
369
+ :country_code: "680"
370
+ :national_dialing_prefix: None
371
+ :char_2_code: None
372
+ :char_3_code: "PW"
373
+ :name: Palau
374
+ :international_dialing_prefix: "00"
375
+ "258":
376
+ :country_code: "258"
377
+ :national_dialing_prefix: "0"
378
+ :char_2_code: "0"
379
+ :char_3_code: "MZ"
380
+ :name: Mozambique
381
+ :international_dialing_prefix: "00"
382
+ "30":
383
+ :country_code: "30"
384
+ :national_dialing_prefix: None
385
+ :char_2_code: None
386
+ :char_3_code: "GR"
387
+ :name: Greece
388
+ :international_dialing_prefix: "00"
389
+ :area_code: "21|28[23]1|2661|2521|2[34568]1|2431|\\d{2,4}?"
390
+ :local_number_format: "\\d{6,8}"
391
+ :number_format: "\\d{10}"
392
+ "681":
393
+ :country_code: "681"
394
+ :national_dialing_prefix: None
395
+ :char_2_code: None
396
+ :char_3_code: "WF"
397
+ :name: Wallis and Futuna
398
+ :international_dialing_prefix: "00"
399
+ "598":
400
+ :country_code: "598"
401
+ :national_dialing_prefix: "0"
402
+ :char_2_code: "0"
403
+ :char_3_code: "UY"
404
+ :name: Uruguay
405
+ :international_dialing_prefix: "00"
406
+ :area_code: "2|42|4364|43[34567]|4452|44[3457]|454[24]|4567?|4586|46[234]|4675|47[237]|4779|9[13456789]"
407
+ :local_number_format: "\\d{6,7}"
408
+ :mobile_format: "9\\d{7}"
409
+ :number_format: "\\d{8}"
410
+ "992":
411
+ :country_code: "992"
412
+ :national_dialing_prefix: "8"
413
+ :char_2_code: "8"
414
+ :char_3_code: "TJ"
415
+ :name: Tajikistan
416
+ :international_dialing_prefix: "810"
417
+ "31":
418
+ :country_code: "31"
419
+ :national_dialing_prefix: "0"
420
+ :char_2_code: "0"
421
+ :char_3_code: "NL"
422
+ :name: Netherlands
423
+ :international_dialing_prefix: "00"
424
+ :area_code: "6760|66|6|8(00|78)|8[4578]|90[069]|1[035]|2[0346]|3[03568]|4[0356]|5[0358]|7\\d|11[134578]|16[124-8]|17[24]|18[0-467]|22[2-46-9]|25[125]|29[479]|31[3-8]|32[01]|34[1-8]|41[12368]|47[58]|48[15-8]|49[23579]|5[129][1-9]|54[134-8]|56[126]|57[0-3578]"
425
+ :local_number_format: "\\d{5,8}"
426
+ :mobile_format: "6\\d{8}"
427
+ :number_format: "\\d{9}"
428
+ "850":
429
+ :country_code: "850"
430
+ :national_dialing_prefix: "0"
431
+ :char_2_code: "0"
432
+ :char_3_code: "KP"
433
+ :name: Korea, Democratic People's Republic Of
434
+ :international_dialing_prefix: "00"
435
+ "964":
436
+ :country_code: "964"
437
+ :national_dialing_prefix: None
438
+ :char_2_code: None
439
+ :char_3_code: "IQ"
440
+ :name: Iraq
441
+ :international_dialing_prefix: "00"
442
+ "370":
443
+ :country_code: "370"
444
+ :national_dialing_prefix: "8"
445
+ :char_2_code: "8"
446
+ :char_3_code: "LT"
447
+ :name: Lithuania
448
+ :international_dialing_prefix: "00"
449
+ "993":
450
+ :country_code: "993"
451
+ :national_dialing_prefix: "8"
452
+ :char_2_code: "8"
453
+ :char_3_code: "TM"
454
+ :name: Turkmenistan
455
+ :international_dialing_prefix: "810"
456
+ "599":
457
+ :country_code: "599"
458
+ :national_dialing_prefix: "0"
459
+ :char_2_code: "0"
460
+ :char_3_code: "AN"
461
+ :name: Netherlands Antilles
462
+ :international_dialing_prefix: "00"
463
+ "32":
464
+ :country_code: "32"
465
+ :national_dialing_prefix: "0"
466
+ :char_2_code: "0"
467
+ :char_3_code: "BE"
468
+ :name: Belgium
469
+ :international_dialing_prefix: "00"
470
+ :area_code: "800|90\\d|2|3|4|9|1[0-69]|5\\d|6[013-9]|7[01]|8[1-9]"
471
+ :local_number_format: "\\d{5,8}"
472
+ :mobile_format: "[4]\\d{8}"
473
+ :number_format: "[4]\\d{8}|[1-9]\\d{7}"
474
+ "965":
475
+ :country_code: "965"
476
+ :national_dialing_prefix: None
477
+ :char_2_code: None
478
+ :char_3_code: "KW"
479
+ :name: Kuwait
480
+ :international_dialing_prefix: "00"
481
+ "371":
482
+ :country_code: "371"
483
+ :national_dialing_prefix: "8"
484
+ :char_2_code: "8"
485
+ :char_3_code: "LV"
486
+ :name: Latvia
487
+ :international_dialing_prefix: "00"
488
+ "682":
489
+ :country_code: "682"
490
+ :national_dialing_prefix: "0"
491
+ :char_2_code: "0"
492
+ :char_3_code: "CK"
493
+ :name: Cook Islands
494
+ :international_dialing_prefix: "00"
495
+ "60":
496
+ :country_code: "60"
497
+ :national_dialing_prefix: "0"
498
+ :char_2_code: "0"
499
+ :char_3_code: "MY"
500
+ :name: Malaysia
501
+ :international_dialing_prefix: "00"
502
+ "966":
503
+ :country_code: "966"
504
+ :national_dialing_prefix: "0"
505
+ :char_2_code: "0"
506
+ :char_3_code: "SA"
507
+ :name: Saudi Arabia
508
+ :international_dialing_prefix: "00"
509
+ :area_code: "[1-7]"
510
+ :local_number_format: "\\d{7,8}"
511
+ :mobile_format: "5\\d{8}"
512
+ :number_format: "[1-46-9]\\d{7}|5\\d{8}"
513
+ "683":
514
+ :country_code: "683"
515
+ :national_dialing_prefix: None
516
+ :char_2_code: None
517
+ :char_3_code: "NU"
518
+ :name: Niue
519
+ :international_dialing_prefix: "00"
520
+ "230":
521
+ :country_code: "230"
522
+ :national_dialing_prefix: None
523
+ :char_2_code: None
524
+ :char_3_code: "MU"
525
+ :name: Mauritius
526
+ :international_dialing_prefix: "00"
527
+ "994":
528
+ :country_code: "994"
529
+ :national_dialing_prefix: "8"
530
+ :char_2_code: "8"
531
+ :char_3_code: "AZ"
532
+ :name: Azerbaijan
533
+ :international_dialing_prefix: "810"
534
+ "852":
535
+ :country_code: "852"
536
+ :national_dialing_prefix: None
537
+ :char_2_code: None
538
+ :char_3_code: "HK"
539
+ :name: Hong Kong
540
+ :international_dialing_prefix: "001"
541
+ "372":
542
+ :country_code: "372"
543
+ :national_dialing_prefix: None
544
+ :char_2_code: None
545
+ :char_3_code: "EE"
546
+ :name: Estonia
547
+ :international_dialing_prefix: "00"
548
+ :area_code: "\\d"
549
+ :local_number_format: "\\d{6,7}"
550
+ :mobile_format: "5\\d{7}"
551
+ :number_format: "5\\d{7}|[1-46-9]\\d{6}"
552
+ "61":
553
+ :country_code: "61"
554
+ :national_dialing_prefix: "0"
555
+ :char_2_code: "0"
556
+ :char_3_code: "AU"
557
+ :name: Australia
558
+ :international_dialing_prefix: "0011"
559
+ :area_code: "[234578]"
560
+ :local_number_format: "\\d{8}"
561
+ :mobile_format: "[4]\\d{8}"
562
+ :number_format: "\\d{9}"
563
+ "880":
564
+ :country_code: "880"
565
+ :national_dialing_prefix: "0"
566
+ :char_2_code: "0"
567
+ :char_3_code: "BD"
568
+ :name: Bangladesh
569
+ :international_dialing_prefix: "00"
570
+ :area_code: "1\\d\\d|2|[345789]1|3[2345678]1|40[12]|42[13]|4[3456789]1|4(46|88)|49[68]|5[23456789]1|5[56]2|6[012345689]1|6(28|72)|7[23456789]1|732|8[234567]1|9[23458]1|3028|303[56]|322[34]|342[47]|3529|3823|4027|4031|422[258]|4326|442[24]|4623|4724|5(222|3(27|34))|625[14]|702[23]|7622|8(0(23|32)|424)|852[58]|8(626|723)|9(028|225)|942[34]"
571
+ :local_number_format: "\\d{3,7}"
572
+ :mobile_format: "[1]\\d{7,9}"
573
+ :number_format: "\\d{7,10}"
574
+ "967":
575
+ :country_code: "967"
576
+ :national_dialing_prefix: "0"
577
+ :char_2_code: "0"
578
+ :char_3_code: "YE"
579
+ :name: Yemen
580
+ :international_dialing_prefix: "00"
581
+ "90":
582
+ :country_code: "90"
583
+ :national_dialing_prefix: "0"
584
+ :char_2_code: "0"
585
+ :char_3_code: "TR"
586
+ :name: Turkey
587
+ :international_dialing_prefix: "00"
588
+ "373":
589
+ :country_code: "373"
590
+ :national_dialing_prefix: "0"
591
+ :char_2_code: "0"
592
+ :char_3_code: "MD"
593
+ :name: Moldova, Republic of
594
+ :international_dialing_prefix: "00"
595
+ "33":
596
+ :country_code: "33"
597
+ :national_dialing_prefix: "0"
598
+ :char_2_code: "0"
599
+ :char_3_code: "FR"
600
+ :name: France
601
+ :international_dialing_prefix: "00"
602
+ :area_code: "[1-9]"
603
+ :local_number_format: "\\d{8}"
604
+ :mobile_format: "[67]\\d{8}"
605
+ :number_format: "\\d{9}"
606
+ "995":
607
+ :country_code: "995"
608
+ :national_dialing_prefix: 8*
609
+ :char_2_code: 8*
610
+ :char_3_code: "GE"
611
+ :name: Georgia
612
+ :international_dialing_prefix: "810"
613
+ :area_code: "[57]|32|122|3(15|40|70|68|9[37])|3[134]1|422|\\d{2,3}?"
614
+ :local_number_format: "\\d{6,7}"
615
+ :mobile_format: "[57]\\d{8}"
616
+ :number_format: "\\d{9}"
617
+ "853":
618
+ :country_code: "853"
619
+ :national_dialing_prefix: "0"
620
+ :char_2_code: "0"
621
+ :char_3_code: "MO"
622
+ :name: Macao
623
+ :international_dialing_prefix: "00"
624
+ "231":
625
+ :country_code: "231"
626
+ :national_dialing_prefix: "22"
627
+ :char_2_code: "22"
628
+ :char_3_code: "LR"
629
+ :name: Liberia
630
+ :international_dialing_prefix: "00"
631
+ "62":
632
+ :country_code: "62"
633
+ :national_dialing_prefix: "0"
634
+ :char_2_code: "0"
635
+ :char_3_code: "ID"
636
+ :name: Indonesia
637
+ :international_dialing_prefix: "001"
638
+ "260":
639
+ :country_code: "260"
640
+ :national_dialing_prefix: "0"
641
+ :char_2_code: "0"
642
+ :char_3_code: "ZM"
643
+ :name: Zambia
644
+ :international_dialing_prefix: "00"
645
+ "34":
646
+ :country_code: "34"
647
+ :national_dialing_prefix: None
648
+ :char_2_code: None
649
+ :char_3_code: "ES"
650
+ :name: Spain
651
+ :international_dialing_prefix: "00"
652
+ "232":
653
+ :country_code: "232"
654
+ :national_dialing_prefix: "0"
655
+ :char_2_code: "0"
656
+ :char_3_code: "SL"
657
+ :name: Sierra Leone
658
+ :international_dialing_prefix: "00"
659
+ "685":
660
+ :country_code: "685"
661
+ :national_dialing_prefix: None
662
+ :char_2_code: None
663
+ :char_3_code: "WS"
664
+ :name: Samoa
665
+ :international_dialing_prefix: "00"
666
+ "63":
667
+ :country_code: "63"
668
+ :national_dialing_prefix: "0"
669
+ :char_2_code: "0"
670
+ :char_3_code: "PH"
671
+ :name: Philippines
672
+ :international_dialing_prefix: "00"
673
+ :area_code: "9\\d\\d|[3-8]\\d|2"
674
+ :local_number_format: "\\d{7}"
675
+ :mobile_format: "9\\d{9}"
676
+ :number_format: "[1-8]\\d{8}|9\\d{9}"
677
+ "968":
678
+ :country_code: "968"
679
+ :national_dialing_prefix: None
680
+ :char_2_code: None
681
+ :char_3_code: "OM"
682
+ :name: Oman
683
+ :international_dialing_prefix: "00"
684
+ "996":
685
+ :country_code: "996"
686
+ :national_dialing_prefix: "0"
687
+ :char_2_code: "0"
688
+ :char_3_code: "KG"
689
+ :name: Kyrgyzstan
690
+ :international_dialing_prefix: "00"
691
+ "374":
692
+ :country_code: "374"
693
+ :national_dialing_prefix: "8"
694
+ :char_2_code: "8"
695
+ :char_3_code: "AM"
696
+ :name: Armenia
697
+ :international_dialing_prefix: "00"
698
+ "91":
699
+ :country_code: "91"
700
+ :national_dialing_prefix: "0"
701
+ :char_2_code: "0"
702
+ :char_3_code: "IN"
703
+ :name: India
704
+ :international_dialing_prefix: "00"
705
+ :area_code: "[7-9]?\\d{3}"
706
+ :local_number_format: "\\d{6,7}"
707
+ :mobile_format: "[789]\\d{9}"
708
+ :number_format: "\\d{10}"
709
+ "92":
710
+ :country_code: "92"
711
+ :national_dialing_prefix: "0"
712
+ :char_2_code: "0"
713
+ :char_3_code: "PK"
714
+ :name: Pakistan
715
+ :international_dialing_prefix: "00"
716
+ :area_code: "3\\d\\d|2[125]|4[01246789]|5[123567]|6[12345678]|7[14]|8[16]|91|2[349]\\d|45\\d|54\\d|60\\d|72\\d|8[2345]\\d|9[23469]\\d"
717
+ :local_number_format: "\\d{6,7}"
718
+ :mobile_format: "3\\d{9}"
719
+ :number_format: "[124-9]\\d{8}|3\\d{9}"
720
+ "64":
721
+ :country_code: "64"
722
+ :national_dialing_prefix: 0 (None fo
723
+ :char_2_code: 0 (None fo
724
+ :char_3_code: "NZ"
725
+ :name: New Zealand
726
+ :international_dialing_prefix: "00"
727
+ "855":
728
+ :country_code: "855"
729
+ :national_dialing_prefix: "0"
730
+ :char_2_code: "0"
731
+ :char_3_code: "KH"
732
+ :name: Cambodia
733
+ :international_dialing_prefix: "00"
734
+ "261":
735
+ :country_code: "261"
736
+ :national_dialing_prefix: None
737
+ :char_2_code: None
738
+ :char_3_code: "MG"
739
+ :name: Madagascar
740
+ :international_dialing_prefix: "00"
741
+ "1a":
742
+ :country_code: "1"
743
+ :national_dialing_prefix: "1"
744
+ :char_2_code: "1"
745
+ :char_3_code: "US"
746
+ :name: United States
747
+ :international_dialing_prefix: "011"
748
+ :area_code: "800|822|833|844|855|866|877|880|881|882|883|884|885|886|887|888|889|900|456|500|533|544|566|700|710|205|251|256|334|659|938|907|250|480|520|602|623|928|327|479|501|870|209|213|310|323|341|369|408|415|424|442|510|530|559|562|619|626|627|628|650|657|661|669|707|714|747|760|764|805|818|831|858|909|916|925|935|949|951|303|719|720|970|203|475|860|959|302|202|239|305|321|352|386|407|561|689|727|754|772|786|813|850|863|904|941|954|229|404|470|478|678|706|762|770|912|808|208|217|224|309|312|331|447|464|618|630|708|730|773|779|815|847|872|219|260|317|574|765|812|319|515|563|641|712|316|620|785|913|270|364|502|606|859|225|318|337|504|985|207|227|240|301|410|443|667|339|351|413|508|617|774|781|857|978|231|248|269|313|517|586|616|679|734|810|906|947|989|218|320|507|612|651|763|952|228|601|662|769|314|417|557|573|636|660|816|975|406|308|402|531|702|775|603|201|551|609|732|848|856|862|908|973|505|575|212|315|347|516|518|585|607|631|646|716|718|845|914|917|929|252|336|704|828|910|919|980|984|701|216|234|283|330|380|419|440|513|567|614|740|937|405|539|580|918|458|503|541|971|215|267|272|412|445|484|570|582|610|717|724|814|835|878|401|803|843|864|605|423|615|731|865|901|931|210|214|254|281|325|361|409|430|432|469|512|682|713|737|806|817|830|832|903|915|936|940|956|972|979|385|435|801|802|276|434|540|571|703|757|804|206|253|360|425|509|564|304|681|262|274|414|534|608|715|920|307"
749
+ :local_number_format: "\\d{7}"
750
+ :number_format: "\\d{10}"
751
+ "1b":
752
+ :country_code: "1"
753
+ :national_dialing_prefix: "1"
754
+ :char_2_code: "1"
755
+ :char_3_code: "CA"
756
+ :name: Canada
757
+ :international_dialing_prefix: "011"
758
+ :area_code: "403|587|780|825|236|250|604|672|778|204|431|506|709|902|226|249|289|343|365|416|437|519|613|647|705|807|905|902|418|438|450|514|579|581|819|873|306|639|867"
759
+ :local_number_format: "\\d{7}"
760
+ :number_format: "\\d{10}"
761
+ "1c":
762
+ :country_code: "1"
763
+ :national_dialing_prefix: "1"
764
+ :char_2_code: "1"
765
+ :char_3_code: "GU"
766
+ :name: Guam
767
+ :international_dialing_prefix: "011"
768
+ :area_code: "671"
769
+ :local_number_format: "\\d{7}"
770
+ :number_format: "\\d{10}"
771
+ "375":
772
+ :country_code: "375"
773
+ :national_dialing_prefix: "8"
774
+ :char_2_code: "8"
775
+ :char_3_code: "BY"
776
+ :name: Belarus
777
+ :international_dialing_prefix: "810"
778
+ :area_code: "2[59]|33|44|225|16[23]|177|2[23]2|152|1797|17|2351|216|212|\\d{2,4}"
779
+ :local_number_format: "\\d{5,7}"
780
+ :mobile_format: "(25|29|33|44)\\d{7}"
781
+ :number_format: "\\d{9}"
782
+ "233":
783
+ :country_code: "233"
784
+ :national_dialing_prefix: None
785
+ :char_2_code: None
786
+ :char_3_code: "GH"
787
+ :name: Ghana
788
+ :international_dialing_prefix: "00"
789
+ :area_code: "[23]\\d|54"
790
+ :local_number_format: "\\d{7}"
791
+ :mobile_format: "2\\d{8}|54\\d{7}"
792
+ :number_format: "\\d{9}"
793
+ "686":
794
+ :country_code: "686"
795
+ :national_dialing_prefix: None
796
+ :char_2_code: None
797
+ :char_3_code: "KI"
798
+ :name: Kiribati
799
+ :international_dialing_prefix: "00"
800
+ "998":
801
+ :country_code: "998"
802
+ :national_dialing_prefix: "8"
803
+ :char_2_code: "8"
804
+ :char_3_code: "UZ"
805
+ :name: Uzbekistan
806
+ :international_dialing_prefix: "810"
807
+ "65":
808
+ :country_code: "65"
809
+ :national_dialing_prefix: None
810
+ :char_2_code: None
811
+ :char_3_code: "SG"
812
+ :name: Singapore
813
+ :international_dialing_prefix: "000"
814
+ "290":
815
+ :country_code: "290"
816
+ :national_dialing_prefix: None
817
+ :char_2_code: None
818
+ :char_3_code: "SH"
819
+ :name: Saint Helena
820
+ :international_dialing_prefix: "00"
821
+ "262":
822
+ :country_code: "262"
823
+ :national_dialing_prefix: None
824
+ :char_2_code: None
825
+ :char_3_code: "RE"
826
+ :name: "R\xC3\xA9union"
827
+ :international_dialing_prefix: "00"
828
+ "234":
829
+ :country_code: "234"
830
+ :national_dialing_prefix: "0"
831
+ :char_2_code: "0"
832
+ :char_3_code: "NG"
833
+ :name: Nigeria
834
+ :international_dialing_prefix: "009"
835
+ :area_code: "1|9|[2-8]\\d"
836
+ :local_number_format: "\\d{5,8}"
837
+ :mobile_format: "(70|8[01])\\d{8}"
838
+ :number_format: "(70|8[01])\\d{8}|([1-69]\\d|7[1-9]|8[2-9])\\d{6}"
839
+ "687":
840
+ :country_code: "687"
841
+ :national_dialing_prefix: None
842
+ :char_2_code: None
843
+ :char_3_code: "NC"
844
+ :name: New Caledonia
845
+ :international_dialing_prefix: "00"
846
+ "856":
847
+ :country_code: "856"
848
+ :national_dialing_prefix: "0"
849
+ :char_2_code: "0"
850
+ :char_3_code: "LA"
851
+ :name: Lao People's Democratic Republic
852
+ :international_dialing_prefix: "00"
853
+ "93":
854
+ :country_code: "93"
855
+ :national_dialing_prefix: "0"
856
+ :char_2_code: "0"
857
+ :char_3_code: "AF"
858
+ :name: Afghanistan
859
+ :international_dialing_prefix: "00"
860
+ :area_code: "7|[2-9]\\d"
861
+ :local_number_format: "\\d{7,8}"
862
+ :mobile_format: "7\\d{8}"
863
+ :number_format: "\\d{9}"
864
+ "376":
865
+ :country_code: "376"
866
+ :national_dialing_prefix: None
867
+ :char_2_code: None
868
+ :char_3_code: "AD"
869
+ :name: Andorra
870
+ :international_dialing_prefix: "00"
871
+ "36":
872
+ :country_code: "36"
873
+ :national_dialing_prefix: "6"
874
+ :char_2_code: "6"
875
+ :char_3_code: "HU"
876
+ :name: Hungary
877
+ :international_dialing_prefix: "00"
878
+ :area_code: "1|[2-9]\\d"
879
+ :local_number_format: "\\d{6,7}"
880
+ :mobile_format: "[237]0\\d{7}"
881
+ :number_format: "[237]0\\d{7}|[145689]\\d{7}|[237][1-9]\\d{6}"
882
+ "263":
883
+ :country_code: "263"
884
+ :national_dialing_prefix: "0"
885
+ :char_2_code: "0"
886
+ :char_3_code: "ZW"
887
+ :name: Zimbabwe
888
+ :international_dialing_prefix: "00"
889
+ :area_code: "9|4|20|54|6(8|67)|7[137]"
890
+ :local_number_format: "\\d{3,8}"
891
+ :mobile_format: "(7[137])\\d{7}"
892
+ :number_format: "\\d{9}"
893
+ "688":
894
+ :country_code: "688"
895
+ :national_dialing_prefix: None
896
+ :char_2_code: None
897
+ :char_3_code: "TV"
898
+ :name: Tuvalu
899
+ :international_dialing_prefix: "00"
900
+ "94":
901
+ :country_code: "94"
902
+ :national_dialing_prefix: "0"
903
+ :char_2_code: "0"
904
+ :char_3_code: "LK"
905
+ :name: Sri Lanka
906
+ :international_dialing_prefix: "00"
907
+ :area_code: "[1-689]\\d|7"
908
+ :local_number_format: "\\d{7,8}"
909
+ :mobile_format: "7\\d{8}"
910
+ :number_format: "\\d{9}"
911
+ "377":
912
+ :country_code: "377"
913
+ :national_dialing_prefix: "0"
914
+ :char_2_code: "0"
915
+ :char_3_code: "MC"
916
+ :name: Monaco
917
+ :international_dialing_prefix: "00"
918
+ "235":
919
+ :country_code: "235"
920
+ :national_dialing_prefix: None
921
+ :char_2_code: None
922
+ :char_3_code: "TD"
923
+ :name: Chad
924
+ :international_dialing_prefix: "00"
925
+ "291":
926
+ :country_code: "291"
927
+ :national_dialing_prefix: "0"
928
+ :char_2_code: "0"
929
+ :char_3_code: "ER"
930
+ :name: Eritrea
931
+ :international_dialing_prefix: "00"
932
+ "66":
933
+ :country_code: "66"
934
+ :national_dialing_prefix: "0"
935
+ :char_2_code: "0"
936
+ :char_3_code: "TH"
937
+ :name: Thailand
938
+ :international_dialing_prefix: "00"
939
+ "886":
940
+ :country_code: "886"
941
+ :national_dialing_prefix: None
942
+ :char_2_code: None
943
+ :char_3_code: "TW"
944
+ :name: Taiwan, Province Of China
945
+ :international_dialing_prefix: "002"
946
+ "378":
947
+ :country_code: "378"
948
+ :national_dialing_prefix: None
949
+ :char_2_code: None
950
+ :char_3_code: "SM"
951
+ :name: San Marino
952
+ :international_dialing_prefix: "00"
953
+ "264":
954
+ :country_code: "264"
955
+ :national_dialing_prefix: "0"
956
+ :char_2_code: "0"
957
+ :char_3_code: "NA"
958
+ :name: Namibia
959
+ :international_dialing_prefix: "00"
960
+ "95":
961
+ :country_code: "95"
962
+ :national_dialing_prefix: None
963
+ :char_2_code: None
964
+ :char_3_code: "MM"
965
+ :name: Myanmar
966
+ :international_dialing_prefix: "00"
967
+ "236":
968
+ :country_code: "236"
969
+ :national_dialing_prefix: None
970
+ :char_2_code: None
971
+ :char_3_code: "CF"
972
+ :name: Central African Republic
973
+ :international_dialing_prefix: "00"
974
+ "689":
975
+ :country_code: "689"
976
+ :national_dialing_prefix: None
977
+ :char_2_code: None
978
+ :char_3_code: "PF"
979
+ :name: French Polynesia
980
+ :international_dialing_prefix: "00"
981
+ "970":
982
+ :country_code: "970"
983
+ :national_dialing_prefix: "0"
984
+ :char_2_code: "0"
985
+ :char_3_code: "PS"
986
+ :name: Palestinian Territory, Occupied
987
+ :international_dialing_prefix: "00"
988
+ "237":
989
+ :country_code: "237"
990
+ :national_dialing_prefix: None
991
+ :char_2_code: None
992
+ :char_3_code: "CM"
993
+ :name: Cameroon
994
+ :international_dialing_prefix: "00"
995
+ "39":
996
+ :country_code: "39"
997
+ :national_dialing_prefix: "0"
998
+ :char_2_code: None
999
+ :char_3_code: "IT"
1000
+ :name: Italy
1001
+ :international_dialing_prefix: "00"
1002
+ :area_code: "[1-8]"
1003
+ :local_number_format: "\\d{8}"
1004
+ :mobile_format: "3\\d{8,10}"
1005
+ :number_format: "[1-8]\\d{8,10}"
1006
+ "265":
1007
+ :country_code: "265"
1008
+ :national_dialing_prefix: None
1009
+ :char_2_code: None
1010
+ :char_3_code: "MW"
1011
+ :name: Malawi
1012
+ :international_dialing_prefix: "00"
1013
+ "971":
1014
+ :country_code: "971"
1015
+ :national_dialing_prefix: "0"
1016
+ :char_2_code: "0"
1017
+ :char_3_code: "AE"
1018
+ :name: United Arab Emirates
1019
+ :international_dialing_prefix: "00"
1020
+ :area_code: "2|3|6|9|48|5[0568]|7[07]|88|4|7"
1021
+ :local_number_format: "\\d{7}"
1022
+ :mobile_format: "(50|55|56)\\d{7}"
1023
+ :number_format: "\\d{8,9}"
1024
+ "238":
1025
+ :country_code: "238"
1026
+ :national_dialing_prefix: None
1027
+ :char_2_code: None
1028
+ :char_3_code: "CV"
1029
+ :name: Cape Verde
1030
+ :international_dialing_prefix: "00"
1031
+ "266":
1032
+ :country_code: "266"
1033
+ :national_dialing_prefix: None
1034
+ :char_2_code: None
1035
+ :char_3_code: "LS"
1036
+ :name: Lesotho
1037
+ :international_dialing_prefix: "00"
1038
+ "239":
1039
+ :country_code: "239"
1040
+ :national_dialing_prefix: "0"
1041
+ :char_2_code: "0"
1042
+ :char_3_code: "ST"
1043
+ :name: Sao Tome and Principe
1044
+ :international_dialing_prefix: "00"
1045
+ "7":
1046
+ :country_code: "7"
1047
+ :national_dialing_prefix: "8"
1048
+ :char_2_code: "8"
1049
+ :char_3_code: "RU"
1050
+ :name: Russian Federation
1051
+ :international_dialing_prefix: "810"
1052
+ "98":
1053
+ :country_code: "98"
1054
+ :national_dialing_prefix: "0"
1055
+ :char_2_code: "0"
1056
+ :char_3_code: "IR"
1057
+ :name: Iran, Islamic Republic Of
1058
+ :international_dialing_prefix: "00"
1059
+ :area_code: "[2]\\d|[3-9]\\d\\d"
1060
+ :local_number_format: "\\d{7,8}"
1061
+ :mobile_format: "9\\d{9}"
1062
+ :number_format: "\\d{10}"
1063
+ "972":
1064
+ :country_code: "972"
1065
+ :national_dialing_prefix: "0"
1066
+ :char_2_code: "0"
1067
+ :char_3_code: "IL"
1068
+ :name: Israel
1069
+ :international_dialing_prefix: "00"
1070
+ :area_code: "[2-46-9]|5\\d"
1071
+ :local_number_format: "\\d{7}"
1072
+ :mobile_format: "5\\d{8}"
1073
+ :number_format: "\\d{8,9}"
1074
+ "350":
1075
+ :country_code: "350"
1076
+ :national_dialing_prefix: None
1077
+ :char_2_code: None
1078
+ :char_3_code: "GI"
1079
+ :name: Gibraltar
1080
+ :international_dialing_prefix: "00"
1081
+ "267":
1082
+ :country_code: "267"
1083
+ :national_dialing_prefix: None
1084
+ :char_2_code: None
1085
+ :char_3_code: "BW"
1086
+ :name: Botswana
1087
+ :international_dialing_prefix: "00"
1088
+ "690":
1089
+ :country_code: "690"
1090
+ :national_dialing_prefix: None
1091
+ :char_2_code: None
1092
+ :char_3_code: "TK"
1093
+ :name: Tokelau
1094
+ :international_dialing_prefix: "00"
1095
+ "268":
1096
+ :country_code: "268"
1097
+ :national_dialing_prefix: None
1098
+ :char_2_code: None
1099
+ :char_3_code: "SZ"
1100
+ :name: Swaziland
1101
+ :international_dialing_prefix: "00"
1102
+ "40":
1103
+ :country_code: "40"
1104
+ :national_dialing_prefix: "0"
1105
+ :char_2_code: "0"
1106
+ :char_3_code: "RO"
1107
+ :name: Romania
1108
+ :international_dialing_prefix: "00"
1109
+ "351":
1110
+ :country_code: "351"
1111
+ :national_dialing_prefix: None
1112
+ :char_2_code: None
1113
+ :char_3_code: "PT"
1114
+ :name: Portugal
1115
+ :international_dialing_prefix: "00"
1116
+ :area_code: "2[12]|2[3-9][1-9]|70[78]|80[089]|9[136]|92[1-9]"
1117
+ :local_number_format: "\\d{6,7}"
1118
+ :mobile_format: "9\\d{8}"
1119
+ :number_format: "\\d{9}"
1120
+ "973":
1121
+ :country_code: "973"
1122
+ :national_dialing_prefix: None
1123
+ :char_2_code: None
1124
+ :char_3_code: "BH"
1125
+ :name: Bahrain
1126
+ :international_dialing_prefix: "00"
1127
+ "380":
1128
+ :country_code: "380"
1129
+ :national_dialing_prefix: "0"
1130
+ :char_2_code: "0"
1131
+ :char_3_code: "UA"
1132
+ :name: Ukraine
1133
+ :international_dialing_prefix: "00"
1134
+ :area_code: "[1-9]\\d"
1135
+ :local_number_format: "\\d{7}"
1136
+ :mobile_format: "(39|50|6[3678]|9\\d)\\d{7}"
1137
+ :number_format: "\\d{9}"
1138
+ "41":
1139
+ :country_code: "41"
1140
+ :national_dialing_prefix: "0"
1141
+ :char_2_code: "0"
1142
+ :char_3_code: "CH"
1143
+ :name: Switzerland
1144
+ :international_dialing_prefix: "00"
1145
+ "974":
1146
+ :country_code: "974"
1147
+ :national_dialing_prefix: None
1148
+ :char_2_code: None
1149
+ :char_3_code: "QA"
1150
+ :name: Qatar
1151
+ :international_dialing_prefix: "00"
1152
+ :area_code: "33|44|55|66|77"
1153
+ :local_number_format: "\\d{6}"
1154
+ :mobile_format: "(33|55|66|77)\\d{6}"
1155
+ :number_format: "\\d{8}"
1156
+ "691":
1157
+ :country_code: "691"
1158
+ :national_dialing_prefix: "1"
1159
+ :char_2_code: "1"
1160
+ :char_3_code: "FM"
1161
+ :name: Micronesia, Federated States Of
1162
+ :international_dialing_prefix: "011"
1163
+ "297":
1164
+ :country_code: "297"
1165
+ :national_dialing_prefix: None
1166
+ :char_2_code: None
1167
+ :char_3_code: "AW"
1168
+ :name: Aruba
1169
+ :international_dialing_prefix: "00"
1170
+ "352":
1171
+ :country_code: "352"
1172
+ :national_dialing_prefix: None
1173
+ :char_2_code: None
1174
+ :char_3_code: "LU"
1175
+ :name: Luxembourg
1176
+ :international_dialing_prefix: "00"
1177
+ :area_code: "79|2679|4|6"
1178
+ :local_number_format: "\\d{4,5}|\\d{8}"
1179
+ :number_format: "(79|2679)\\d{4}|4\\d{5}|6\\d{8}"
1180
+ :mobile_format: "6\\d{8}"
1181
+ "269":
1182
+ :country_code: "269"
1183
+ :national_dialing_prefix: None
1184
+ :char_2_code: None
1185
+ :char_3_code: "YT"
1186
+ :name: Mayotte
1187
+ :international_dialing_prefix: "00"
1188
+ "381":
1189
+ :country_code: "381"
1190
+ :national_dialing_prefix: "0"
1191
+ :char_2_code: "0"
1192
+ :char_3_code: "RS"
1193
+ :name: Serbia
1194
+ :international_dialing_prefix: "00"
1195
+ :area_code: "[1-9]\\d"
1196
+ :local_number_format: "\\d{7}"
1197
+ :mobile_format: "6\\d{7,8}"
1198
+ :number_format: "[1-57-9]\\d{6,8}|6\\d{7,8}"
1199
+ "975":
1200
+ :country_code: "975"
1201
+ :national_dialing_prefix: None
1202
+ :char_2_code: None
1203
+ :char_3_code: "BT"
1204
+ :name: Bhutan
1205
+ :international_dialing_prefix: "00"
1206
+ :area_code: "17|[2-9]"
1207
+ :local_number_format: "\\d{6}"
1208
+ :mobile_format: "17\\d{6}"
1209
+ :number_format: "1\\d{7}|[2-9]\\d{6}"
1210
+ "298":
1211
+ :country_code: "298"
1212
+ :national_dialing_prefix: None
1213
+ :char_2_code: None
1214
+ :char_3_code: "FO"
1215
+ :name: Faroe Islands
1216
+ :international_dialing_prefix: "00"
1217
+ "353":
1218
+ :country_code: "353"
1219
+ :national_dialing_prefix: "0"
1220
+ :char_2_code: "0"
1221
+ :char_3_code: "IE"
1222
+ :name: Ireland
1223
+ :international_dialing_prefix: "00"
1224
+ "692":
1225
+ :country_code: "692"
1226
+ :national_dialing_prefix: "1"
1227
+ :char_2_code: "1"
1228
+ :char_3_code: "MH"
1229
+ :name: Marshall Islands
1230
+ :international_dialing_prefix: "00"
1231
+ "212":
1232
+ :country_code: "212"
1233
+ :national_dialing_prefix: "0"
1234
+ :char_2_code: "0"
1235
+ :char_3_code: "MA"
1236
+ :name: Morocco
1237
+ :international_dialing_prefix: "00"
1238
+ "382":
1239
+ :country_code: "382"
1240
+ :national_dialing_prefix: "0"
1241
+ :char_2_code: "0"
1242
+ :char_3_code: "ME"
1243
+ :name: Montenegro
1244
+ :international_dialing_prefix: "00"
1245
+ "976":
1246
+ :country_code: "976"
1247
+ :national_dialing_prefix: "0"
1248
+ :char_2_code: "0"
1249
+ :char_3_code: "MN"
1250
+ :name: Mongolia
1251
+ :international_dialing_prefix: "001"
1252
+ "240":
1253
+ :country_code: "240"
1254
+ :national_dialing_prefix: None
1255
+ :char_2_code: None
1256
+ :char_3_code: "GQ"
1257
+ :name: Equatorial Guinea
1258
+ :international_dialing_prefix: "00"
1259
+ "299":
1260
+ :country_code: "299"
1261
+ :national_dialing_prefix: None
1262
+ :char_2_code: None
1263
+ :char_3_code: "GL"
1264
+ :name: Greenland
1265
+ :international_dialing_prefix: "00"
1266
+ "354":
1267
+ :country_code: "354"
1268
+ :national_dialing_prefix: "0"
1269
+ :char_2_code: "0"
1270
+ :char_3_code: "IS"
1271
+ :name: Iceland
1272
+ :international_dialing_prefix: "00"
1273
+ "43":
1274
+ :country_code: "43"
1275
+ :national_dialing_prefix: "0"
1276
+ :char_2_code: "0"
1277
+ :char_3_code: "AT"
1278
+ :name: Austria
1279
+ :international_dialing_prefix: "00"
1280
+ :area_code: "6|\\d{1,4}"
1281
+ :local_number_format: "\\d{1,12}"
1282
+ :mobile_format: "6\\d{8}"
1283
+ :number_format: "\\d{5,13}"
1284
+ "977":
1285
+ :country_code: "977"
1286
+ :national_dialing_prefix: "0"
1287
+ :char_2_code: "0"
1288
+ :char_3_code: "NP"
1289
+ :name: Nepal
1290
+ :international_dialing_prefix: "00"
1291
+ :area_code: "1|21|41|5[16]|6[145]|71|98"
1292
+ :local_number_format: "\\d{6,8}"
1293
+ :mobile_format: "98\\d{8}"
1294
+ :number_format: "\\d{8}|98\\d{8}"
1295
+ "241":
1296
+ :country_code: "241"
1297
+ :national_dialing_prefix: None
1298
+ :char_2_code: None
1299
+ :char_3_code: "GA"
1300
+ :name: Gabon
1301
+ :international_dialing_prefix: "00"
1302
+ "355":
1303
+ :country_code: "355"
1304
+ :national_dialing_prefix: "0"
1305
+ :char_2_code: "0"
1306
+ :char_3_code: "AL"
1307
+ :name: Albania
1308
+ :international_dialing_prefix: "00"
1309
+ :area_code: "6|4|[235789]\\d\\d?"
1310
+ :local_number_format: "\\d{5,8}"
1311
+ :mobile_format: "6\\d{8}"
1312
+ :number_format: "6\\d{8}|[2-5789]\\d{7}"
1313
+ "213":
1314
+ :country_code: "213"
1315
+ :national_dialing_prefix: "7"
1316
+ :char_2_code: "7"
1317
+ :char_3_code: "DZ"
1318
+ :name: Algeria
1319
+ :international_dialing_prefix: "00"
1320
+ :area_code: "[2-8]\\d"
1321
+ :local_number_format: "\\d{6,7}"
1322
+ :mobile_format: "(55|6[69]|7[79])\\d{7}"
1323
+ :number_format: "(55|6[69]|7[79])\\d{7}|\\d{8}"
1324
+ "44":
1325
+ :country_code: "44"
1326
+ :national_dialing_prefix: "0"
1327
+ :char_2_code: "0"
1328
+ :char_3_code: "GB"
1329
+ :name: United Kingdom
1330
+ :international_dialing_prefix: "00"
1331
+ :area_code: "2[03489]|11[3-8]|1[2-69]1|1(3873|5(242|39[456])|697[347]|768[347]|9467)|1[2-9]\\d{2}|3[0347]\\d|500|5[56]|70|7([45789]\\d{2}|624)|8(0[08]|4[2-5]|7[0-3])|9[018]\\d"
1332
+ :local_number_format: "\\d{4,8}"
1333
+ :mobile_format: "7\\d{9}"
1334
+ :number_format: "\\d{9,10}"
1335
+ "242":
1336
+ :country_code: "242"
1337
+ :national_dialing_prefix: None
1338
+ :char_2_code: None
1339
+ :char_3_code: "CG"
1340
+ :name: Congo
1341
+ :international_dialing_prefix: "00"
1342
+ "356":
1343
+ :country_code: "356"
1344
+ :national_dialing_prefix: "21"
1345
+ :char_2_code: "21"
1346
+ :char_3_code: "MT"
1347
+ :name: Malta
1348
+ :international_dialing_prefix: "00"
1349
+ "357":
1350
+ :country_code: "357"
1351
+ :national_dialing_prefix: None
1352
+ :char_2_code: None
1353
+ :char_3_code: "CY"
1354
+ :name: Cyprus
1355
+ :international_dialing_prefix: "00"
1356
+ :area_code: "2\\d|99"
1357
+ :local_number_format: "\\d{6}"
1358
+ :mobile_format: "99\\d{6}"
1359
+ :number_format: "\\d{8}"
1360
+ "45":
1361
+ :country_code: "45"
1362
+ :national_dialing_prefix: None
1363
+ :char_2_code: None
1364
+ :char_3_code: "DK"
1365
+ :name: Denmark
1366
+ :international_dialing_prefix: "00"
1367
+ :area_code: "\\d{2}"
1368
+ :local_number_format: "\\d{6}"
1369
+ :number_format: "\\d{8}"
1370
+ :mobile_format: "40\\d{6}"
1371
+ "46":
1372
+ :country_code: "46"
1373
+ :national_dialing_prefix: "0"
1374
+ :char_2_code: "0"
1375
+ :char_3_code: "SE"
1376
+ :name: Sweden
1377
+ :international_dialing_prefix: "00"
1378
+ :area_code: "900|1[013689]|2[0136]|3[1356]|4[0246]|54|6[03]|7[01236]|8|9[09]|1[2457]\\d|2[2457-9]\\d|3[0247-9]\\d|4[1357-9]\\d|5[0-35-9]\\d|6[124-9]\\d|74\\d|9[1-8]\\d"
1379
+ :local_number_format: "\\d{5,8}"
1380
+ :mobile_format: "7\\d{8}"
1381
+ :number_format: "\\d{7,10}"
1382
+ "47":
1383
+ :country_code: "47"
1384
+ :national_dialing_prefix: None
1385
+ :char_2_code: None
1386
+ :char_3_code: "NO"
1387
+ :name: Norway
1388
+ :international_dialing_prefix: "00"
1389
+ :area_code: "23|3[378]|6[29]|77|4|5|7|9|\\d{1,2}"
1390
+ :local_number_format: "\\d{6,7}"
1391
+ :mobile_format: "[49]\\d{7}"
1392
+ :number_format: "\\d{8}"
1393
+ "385":
1394
+ :country_code: "385"
1395
+ :national_dialing_prefix: "0"
1396
+ :char_2_code: "0"
1397
+ :char_3_code: "HR"
1398
+ :name: Croatia
1399
+ :international_dialing_prefix: "00"
1400
+ :area_code: "1|[2-9]\\d"
1401
+ :local_number_format: "\\d{6,7}"
1402
+ :mobile_format: "9\\d{8}"
1403
+ :number_format: "[1-8]\\d{7,8}|9\\d{8}"
1404
+ "243":
1405
+ :country_code: "243"
1406
+ :national_dialing_prefix: None
1407
+ :char_2_code: None
1408
+ :char_3_code: "CD"
1409
+ :name: Congo, The Democratic Republic Of The
1410
+ :international_dialing_prefix: "00"
1411
+ "216":
1412
+ :country_code: "216"
1413
+ :national_dialing_prefix: None
1414
+ :char_2_code: None
1415
+ :char_3_code: "TN"
1416
+ :name: Tunisia
1417
+ :international_dialing_prefix: "00"
1418
+ "386":
1419
+ :country_code: "386"
1420
+ :national_dialing_prefix: "0"
1421
+ :char_2_code: "0"
1422
+ :char_3_code: "SI"
1423
+ :name: Slovenia
1424
+ :international_dialing_prefix: "00"
1425
+ :area_code: "3[01]|4[01]|51|7[01]|64|59|1|2|3|4|5|6|7"
1426
+ :local_number_format: "\\d{6,7}"
1427
+ :mobile_format: "(3[01]|4[01]|51|6[456789]|7[01])\\d{6}"
1428
+ :number_format: "\\d{8}"
1429
+ "358":
1430
+ :country_code: "358"
1431
+ :national_dialing_prefix: "0"
1432
+ :char_2_code: "0"
1433
+ :char_3_code: "FI"
1434
+ :name: Finland
1435
+ :international_dialing_prefix: "00"
1436
+ :area_code: "2|3|4|50|5|8|9|\\d{2}"
1437
+ :local_number_format: "\\d{7,8}"
1438
+ :mobile_format: "4\\d{8}|50\\d{7}"
1439
+ :number_format: "\\d{9}"
1440
+ "244":
1441
+ :country_code: "244"
1442
+ :national_dialing_prefix: "0"
1443
+ :char_2_code: "0"
1444
+ :char_3_code: "AO"
1445
+ :name: Angola
1446
+ :international_dialing_prefix: "00"
1447
+ "359":
1448
+ :country_code: "359"
1449
+ :national_dialing_prefix: "0"
1450
+ :char_2_code: "0"
1451
+ :char_3_code: "BG"
1452
+ :name: Bulgaria
1453
+ :international_dialing_prefix: "00"
1454
+ :area_code: "2|32|4[2348]|5[268]|64|8[2789]|98"
1455
+ :local_number_format: "\\d{6,7}"
1456
+ :mobile_format: "(8[789]|98)\\d{7}|4[38]\\d{6}"
1457
+ :number_format: "\\d{8}|(8[789]|98)\\d{7}"
1458
+ "387":
1459
+ :country_code: "387"
1460
+ :national_dialing_prefix: "0"
1461
+ :char_2_code: "0"
1462
+ :char_3_code: "BA"
1463
+ :name: Bosnia and Herzegovina
1464
+ :international_dialing_prefix: "00"
1465
+ :area_code: "6|[0-57-9]\\d"
1466
+ :local_number_format: "\\d{6,7}"
1467
+ :mobile_format: "[6]\\d{7}"
1468
+ :number_format: "\\d{8}"
1469
+ "245":
1470
+ :country_code: "245"
1471
+ :national_dialing_prefix: None
1472
+ :char_2_code: None
1473
+ :char_3_code: "GW"
1474
+ :name: Guinea-Bissau
1475
+ :international_dialing_prefix: "00"
1476
+ "48":
1477
+ :country_code: "48"
1478
+ :national_dialing_prefix: "0"
1479
+ :char_2_code: "0"
1480
+ :char_3_code: "PL"
1481
+ :name: Poland
1482
+ :international_dialing_prefix: "00"
1483
+ "218":
1484
+ :country_code: "218"
1485
+ :national_dialing_prefix: "0"
1486
+ :char_2_code: "0"
1487
+ :char_3_code: "LY"
1488
+ :name: Libyan Arab Jamahiriya
1489
+ :international_dialing_prefix: "00"
1490
+ "49":
1491
+ :country_code: "49"
1492
+ :national_dialing_prefix: "0"
1493
+ :char_2_code: "0"
1494
+ :char_3_code: "DE"
1495
+ :name: Germany
1496
+ :international_dialing_prefix: "00"
1497
+ :area_code: "\\d{2,5}"
1498
+ :local_number_format: "\\d{7}"
1499
+ :mobile_format: "1\\d{9,10}"
1500
+ :number_format: "\\d{5,11}"
1501
+ "389":
1502
+ :country_code: "389"
1503
+ :national_dialing_prefix: "0"
1504
+ :char_2_code: "0"
1505
+ :char_3_code: "MK"
1506
+ :name: Macedonia, the Former Yugoslav Republic Of
1507
+ :international_dialing_prefix: "00"
1508
+ "670":
1509
+ :country_code: "670"
1510
+ :national_dialing_prefix: None
1511
+ :char_2_code: None
1512
+ :char_3_code: "TL"
1513
+ :name: Timor-Leste
1514
+ :international_dialing_prefix: "00"
1515
+ "248":
1516
+ :country_code: "248"
1517
+ :national_dialing_prefix: None
1518
+ :char_2_code: None
1519
+ :char_3_code: "SC"
1520
+ :name: Seychelles
1521
+ :international_dialing_prefix: "00"
1522
+ "20":
1523
+ :country_code: "20"
1524
+ :national_dialing_prefix: "0"
1525
+ :char_2_code: "0"
1526
+ :char_3_code: "EG"
1527
+ :name: Egypt
1528
+ :international_dialing_prefix: "00"
1529
+ :area_code: "[1-3]|[4-9]\\d"
1530
+ :local_number_format: "\\d{7,9}"
1531
+ :mobile_format: "1\\d{9}"
1532
+ :number_format: "\\d{9,10}"
1533
+ "500":
1534
+ :country_code: "500"
1535
+ :national_dialing_prefix: None
1536
+ :char_2_code: None
1537
+ :char_3_code: "FK"
1538
+ :name: Falkland Islands (Malvinas)
1539
+ :international_dialing_prefix: "00"
1540
+ "249":
1541
+ :country_code: "249"
1542
+ :national_dialing_prefix: "0"
1543
+ :char_2_code: "0"
1544
+ :char_3_code: "SD"
1545
+ :name: Sudan
1546
+ :international_dialing_prefix: "00"
1547
+ "501":
1548
+ :country_code: "501"
1549
+ :national_dialing_prefix: "0"
1550
+ :char_2_code: "0"
1551
+ :char_3_code: "BZ"
1552
+ :name: Belize
1553
+ :international_dialing_prefix: "00"
1554
+ :area_code: "[1-9]"
1555
+ :local_number_format: "\\d{6}"
1556
+ :mobile_format: "6\\d{6}"
1557
+ :number_format: "\\d{7}"
1558
+ "672":
1559
+ :country_code: "672"
1560
+ :national_dialing_prefix: None
1561
+ :char_2_code: None
1562
+ :char_3_code: "NF"
1563
+ :name: Norfolk Island
1564
+ :international_dialing_prefix: "00"
1565
+ "502":
1566
+ :country_code: "502"
1567
+ :national_dialing_prefix: None
1568
+ :char_2_code: None
1569
+ :char_3_code: "GT"
1570
+ :name: Guatemala
1571
+ :international_dialing_prefix: "00"
1572
+ :area_code: "\\d"
1573
+ :local_number_format: "\\d{7}"
1574
+ :mobile_format: "[45]\\d{7}"
1575
+ :number_format: "\\d{8}"
1576
+ "51":
1577
+ :country_code: "51"
1578
+ :national_dialing_prefix: "0"
1579
+ :char_2_code: "0"
1580
+ :char_3_code: "PE"
1581
+ :name: Peru
1582
+ :international_dialing_prefix: "00"
1583
+ "220":
1584
+ :country_code: "220"
1585
+ :national_dialing_prefix: None
1586
+ :char_2_code: None
1587
+ :char_3_code: "GM"
1588
+ :name: Gambia
1589
+ :international_dialing_prefix: "00"
1590
+ "673":
1591
+ :country_code: "673"
1592
+ :national_dialing_prefix: "0"
1593
+ :char_2_code: "0"
1594
+ :char_3_code: "BN"
1595
+ :name: Brunei Darussalam
1596
+ :international_dialing_prefix: "00"
1597
+ "503":
1598
+ :country_code: "503"
1599
+ :national_dialing_prefix: None
1600
+ :char_2_code: None
1601
+ :char_3_code: "SV"
1602
+ :name: El Salvador
1603
+ :international_dialing_prefix: "00"
1604
+ :area_code: "[27]"
1605
+ :local_number_format: "\\d{7}"
1606
+ :mobile_format: "7\\d{7}"
1607
+ :number_format: "\\d{8}"
1608
+ "221":
1609
+ :country_code: "221"
1610
+ :national_dialing_prefix: None
1611
+ :char_2_code: None
1612
+ :char_3_code: "SN"
1613
+ :name: Senegal
1614
+ :international_dialing_prefix: "00"
1615
+ "674":
1616
+ :country_code: "674"
1617
+ :national_dialing_prefix: "0"
1618
+ :char_2_code: "0"
1619
+ :char_3_code: "NR"
1620
+ :name: Nauru
1621
+ :international_dialing_prefix: "00"
1622
+ "52":
1623
+ :country_code: "52"
1624
+ :national_dialing_prefix: "1"
1625
+ :char_2_code: "1"
1626
+ :char_3_code: "MX"
1627
+ :name: Mexico
1628
+ :international_dialing_prefix: "00"
1629
+ "504":
1630
+ :country_code: "504"
1631
+ :national_dialing_prefix: None
1632
+ :char_2_code: None
1633
+ :char_3_code: "HN"
1634
+ :name: Honduras
1635
+ :international_dialing_prefix: "00"
1636
+ "250":
1637
+ :country_code: "250"
1638
+ :national_dialing_prefix: "0"
1639
+ :char_2_code: "0"
1640
+ :char_3_code: "RW"
1641
+ :name: Rwanda
1642
+ :international_dialing_prefix: "00"
1643
+ "872":
1644
+ :country_code: "872"
1645
+ :national_dialing_prefix: "0"
1646
+ :char_2_code: "0"
1647
+ :char_3_code: "PN"
1648
+ :name: Pitcairn
1649
+ :international_dialing_prefix: "00"
1650
+ "675":
1651
+ :country_code: "675"
1652
+ :national_dialing_prefix: None
1653
+ :char_2_code: None
1654
+ :char_3_code: "PG"
1655
+ :name: Papua New Guinea
1656
+ :international_dialing_prefix: "00"
1657
+ "505":
1658
+ :country_code: "505"
1659
+ :national_dialing_prefix: None
1660
+ :char_2_code: None
1661
+ :char_3_code: "NI"
1662
+ :name: Nicaragua
1663
+ :international_dialing_prefix: "00"
1664
+ "222":
1665
+ :country_code: "222"
1666
+ :national_dialing_prefix: "0"
1667
+ :char_2_code: "0"
1668
+ :char_3_code: "MR"
1669
+ :name: Mauritania
1670
+ :international_dialing_prefix: "00"
1671
+ "53":
1672
+ :country_code: "53"
1673
+ :national_dialing_prefix: "0"
1674
+ :char_2_code: "0"
1675
+ :char_3_code: "CU"
1676
+ :name: Cuba
1677
+ :international_dialing_prefix: "119"
1678
+ "81":
1679
+ :country_code: "81"
1680
+ :national_dialing_prefix: "0"
1681
+ :char_2_code: "0"
1682
+ :char_3_code: "JP"
1683
+ :name: Japan
1684
+ :international_dialing_prefix: "010"
1685
+ "211":
1686
+ :country_code: "211"
1687
+ :national_dialing_prefix: "0"
1688
+ :char_2_code: "0"
1689
+ :char_3_code: "SS"
1690
+ :name: South Sudan
1691
+ :international_dialing_prefix: "00"