phonie 1.0.1

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 +5 -0
  3. data/Gemfile.lock +10 -0
  4. data/LICENSE +20 -0
  5. data/Rakefile +13 -0
  6. data/Readme.rdoc +153 -0
  7. data/lib/phonie.rb +7 -0
  8. data/lib/phonie/country.rb +120 -0
  9. data/lib/phonie/data/phone_countries.yml +1683 -0
  10. data/lib/phonie/phone.rb +215 -0
  11. data/lib/phonie/support.rb +78 -0
  12. data/lib/phonie/version.rb +3 -0
  13. data/phonie.gemspec +18 -0
  14. data/test/countries/ae_test.rb +15 -0
  15. data/test/countries/af_test.rb +12 -0
  16. data/test/countries/al_test.rb +12 -0
  17. data/test/countries/ar_test.rb +12 -0
  18. data/test/countries/at_test.rb +14 -0
  19. data/test/countries/au_test.rb +48 -0
  20. data/test/countries/ba_test.rb +9 -0
  21. data/test/countries/bd_test.rb +17 -0
  22. data/test/countries/be_test.rb +120 -0
  23. data/test/countries/bg_test.rb +13 -0
  24. data/test/countries/bo_test.rb +12 -0
  25. data/test/countries/br_test.rb +12 -0
  26. data/test/countries/bt_test.rb +9 -0
  27. data/test/countries/by_test.rb +12 -0
  28. data/test/countries/bz_test.rb +12 -0
  29. data/test/countries/ca_test.rb +20 -0
  30. data/test/countries/cr_test.rb +12 -0
  31. data/test/countries/cy_test.rb +12 -0
  32. data/test/countries/cz_test.rb +12 -0
  33. data/test/countries/de_test.rb +18 -0
  34. data/test/countries/dk_test.rb +12 -0
  35. data/test/countries/dz_test.rb +12 -0
  36. data/test/countries/ec_test.rb +12 -0
  37. data/test/countries/ee_test.rb +12 -0
  38. data/test/countries/eg_test.rb +9 -0
  39. data/test/countries/et_test.rb +11 -0
  40. data/test/countries/fi_test.rb +12 -0
  41. data/test/countries/fr_test.rb +22 -0
  42. data/test/countries/gb_test.rb +262 -0
  43. data/test/countries/ge_test.rb +12 -0
  44. data/test/countries/gh_test.rb +9 -0
  45. data/test/countries/gr_test.rb +9 -0
  46. data/test/countries/gt_test.rb +12 -0
  47. data/test/countries/gu_test.rb +9 -0
  48. data/test/countries/gy_test.rb +9 -0
  49. data/test/countries/hr_test.rb +75 -0
  50. data/test/countries/hu_test.rb +12 -0
  51. data/test/countries/il_test.rb +12 -0
  52. data/test/countries/in_test.rb +45 -0
  53. data/test/countries/ir_test.rb +13 -0
  54. data/test/countries/ke_test.rb +12 -0
  55. data/test/countries/lk_test.rb +9 -0
  56. data/test/countries/ng_test.rb +9 -0
  57. data/test/countries/nl_test.rb +383 -0
  58. data/test/countries/no_test.rb +12 -0
  59. data/test/countries/np_test.rb +15 -0
  60. data/test/countries/ph_test.rb +9 -0
  61. data/test/countries/pk_test.rb +9 -0
  62. data/test/countries/pt_test.rb +129 -0
  63. data/test/countries/qa_test.rb +9 -0
  64. data/test/countries/rs_test.rb +15 -0
  65. data/test/countries/sa_test.rb +9 -0
  66. data/test/countries/se_test.rb +478 -0
  67. data/test/countries/si_test.rb +19 -0
  68. data/test/countries/sv_test.rb +12 -0
  69. data/test/countries/to_test.rb +12 -0
  70. data/test/countries/ua_test.rb +17 -0
  71. data/test/countries/us_test.rb +24 -0
  72. data/test/countries/uy_test.rb +20 -0
  73. data/test/countries/za_test.rb +19 -0
  74. data/test/countries/zw_test.rb +12 -0
  75. data/test/country_test.rb +27 -0
  76. data/test/extension_test.rb +30 -0
  77. data/test/phone_test.rb +137 -0
  78. data/test/test_helper.rb +37 -0
  79. data/test_usa_phones_with_extensions.csv +99 -0
  80. metadata +130 -0
@@ -0,0 +1 @@
1
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,5 @@
1
+ source 'http://rubygems.org'
2
+
3
+ group :development, :test do
4
+ gem "rake"
5
+ end
@@ -0,0 +1,10 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ rake (10.0.3)
5
+
6
+ PLATFORMS
7
+ ruby
8
+
9
+ DEPENDENCIES
10
+ rake
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2010 Tomislav Car
2
+ Modifications copyright (c) 2010 Todd Eichel for Fooala, Inc.
3
+ Modifications copyright (c) 2012 Wesley Moxam
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,13 @@
1
+ require "bundler/gem_tasks"
2
+ require 'rake'
3
+ require 'rake/testtask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Run unit tests.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.pattern = 'test/**/*_test.rb'
12
+ t.verbose = true
13
+ end
@@ -0,0 +1,153 @@
1
+ = Phone
2
+ Parsing, validating and creating phone numbers
3
+
4
+ == Install
5
+ You can install the phone library as a gem
6
+ gem sources -a http://gemcutter.org
7
+ gem install phonie
8
+
9
+ == Initializing
10
+ You can initialize a new phone object with the number, area code, country code and extension number
11
+
12
+ Phonie::Phone.new('5125486', '91', '385')
13
+ or
14
+ Phonie::Phone.new(:number => '5125486', :area_code => '91', :country_code => '385', :extension => '143')
15
+
16
+ == Parsing
17
+ You can create a new phone object by parsing from a string. Phonie::Phone does it's best to detect the country and area codes:
18
+ Phonie::Phone.parse '+385915125486'
19
+ Phonie::Phone.parse '00385915125486'
20
+
21
+ If the country or area code isn't given in the string, you must set it, otherwise it doesn't work:
22
+ Phonie::Phone.parse '091/512-5486', :country_code => '385'
23
+ Phonie::Phone.parse '(091) 512 5486', :country_code => '385'
24
+
25
+ If you feel that it's tedious, set the default country code once (in your config/environment.rb):
26
+ Phonie::Phone.default_country_code = '385'
27
+ Phonie::Phone.parse '091/512-5486'
28
+ Phonie::Phone.parse '(091) 512 5486'
29
+
30
+ Same goes for the area code:
31
+ Phonie::Phone.parse '451-588', :country_code => '385', :area_code => '47'
32
+ or
33
+ Phonie::Phone.default_country_code = '385'
34
+ Phonie::Phone.default_area_code = '47'
35
+
36
+ Phonie::Phone.parse '451-588'
37
+
38
+ === Automatic country and area code detection
39
+ Like it's stated above, Phone does it's best to automatically detect the country and area code while parsing. Do do this,
40
+ phone uses data stored in <tt>data/countries.yml</tt>.
41
+
42
+ Each country code can have a regular expression named <tt>area_code</tt> that describes how the area code for that
43
+ particular country looks like.
44
+
45
+ If an <tt>area_code</tt> regular expression isn't specified, the default, <tt>Phonie::Phone::DEFAULT_AREA_CODE</tt> (correct for
46
+ the US) is used.
47
+
48
+ == Validating
49
+ Validating is very relaxed, basically it strips out everything that's not a number or '+' character:
50
+ Phonie::Phone.valid? 'blabla 091/512-5486 blabla'
51
+
52
+ == Formatting
53
+ Formating is done via the <tt>format</tt> method. The method accepts a <tt>Symbol</tt> or a <tt>String</tt>.
54
+
55
+ When given a string, it interpolates the string with the following fields:
56
+
57
+ * %c - country_code (385)
58
+ * %a - area_code (91)
59
+ * %A - area_code with leading zero (091)
60
+ * %n - number (5125486)
61
+ * %f - first @@n1_length characters of number (configured through Phonie::Phone.n1_length), default is 3 (512)
62
+ * %l - last characters of number (5486)
63
+ * %x - the extension number
64
+
65
+ pn = Phonie::Phone.parse('+385915125486')
66
+ pn.to_s # => "+385915125486"
67
+ pn.format("%A/%f-%l") # => "091/512-5486"
68
+ pn.format("+ %c (%a) %n") # => "+ 385 (91) 5125486"
69
+
70
+ When given a symbol it is used as a lookup for the format in the <tt>Phonie::Phone.named_formats</tt> hash.
71
+ pn.format(:europe) # => "+385 (0) 91 512 5486"
72
+ pn.format(:us) # => "(234) 123 4567"
73
+ pn.format(:default_with_extension) # => "+3851234567x143"
74
+
75
+ You can add your own custom named formats like so:
76
+ Phonie::Phone.named_formats[:short] = '%A/%n1-%n2'
77
+ pn.format(:short) # => 091/512-5486
78
+
79
+ = TODO
80
+ Parse testing for different countries.
81
+
82
+ Currently tested on:
83
+ [AF] Afghanistan
84
+ [AL] Albania
85
+ [AR] Argentina
86
+ [AT] Austria
87
+ [AU] Australia
88
+ [BA] Bosnia and Herzegovina
89
+ [BD] Bangladesh
90
+ [BE] Belgium
91
+ [BG] Bulgaria
92
+ [BO] Bolivia
93
+ [BR] Brazil
94
+ [BT] Bhutan
95
+ [BY] Belarus
96
+ [BZ] Belize
97
+ [CA] Canada
98
+ [CR] Costa Rica
99
+ [CY] Cyprus
100
+ [CZ] Czech Republic
101
+ [DE] Germany
102
+ [DK] Denmark
103
+ [DZ] Algeria
104
+ [EC] Ecuador
105
+ [EE] Estonia
106
+ [EG] Egypt
107
+ [ET] Ethiopia
108
+ [FI] Finland
109
+ [FR] France
110
+ [GB] United Kingdom
111
+ [GE] Georgia
112
+ [GH] Ghana
113
+ [GR} Greece
114
+ [GU] Guam
115
+ [GT] Guatemala
116
+ [GY] Guyana
117
+ [HR] Croatia
118
+ [HU] Hungary
119
+ [IL] Israel
120
+ [IN] India
121
+ [IR] Iran
122
+ [KE] Kenya
123
+ [LK] Sri Lanka
124
+ [NG] Nigeria
125
+ [NL] Netherlands
126
+ [NO] Norway
127
+ [NP] Nepal
128
+ [PH] Philippines
129
+ [PK] Pakistan
130
+ [QA] Qatar
131
+ [RS] Serbia
132
+ [SA] Saudi Arabia
133
+ [SE] Sweden
134
+ [SI] Slovenia
135
+ [SV] El Salvador
136
+ [TO] Tonga
137
+ [UA] Ukraine
138
+ [US] United States
139
+ [ZA] South Africa
140
+ [ZW] Zimbabwe
141
+
142
+ = How you can contribute
143
+ 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.
144
+
145
+ The best places to start is to read through the country tests and data/phone_countries.rb
146
+
147
+ = Other libraries
148
+ This is based off a fork of the Phone gem (https://github.com/carr/phone), and was extensively modified for better support of country detection
149
+
150
+ Another fork based off this one is available at https://github.com/capitainetrain/phoner It explictly requires ActiveSupport.
151
+
152
+ = Contributors
153
+ Tomislav Carr, Don Morrison, Michael Squires, Todd Eichel (Fooala, Inc.), chipiga, Etienne Samson, Luke Randall, Wesley Moxam
@@ -0,0 +1,7 @@
1
+ require "phonie/version"
2
+ require "phonie/support" unless defined? ActiveSupport
3
+ require "phonie/phone"
4
+ require "phonie/country"
5
+
6
+ module Phonie
7
+ end
@@ -0,0 +1,120 @@
1
+ module Phonie
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,1683 @@
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: None
998
+ :char_2_code: None
999
+ :char_3_code: "IT"
1000
+ :name: Italy
1001
+ :international_dialing_prefix: "00"
1002
+ "265":
1003
+ :country_code: "265"
1004
+ :national_dialing_prefix: None
1005
+ :char_2_code: None
1006
+ :char_3_code: "MW"
1007
+ :name: Malawi
1008
+ :international_dialing_prefix: "00"
1009
+ "971":
1010
+ :country_code: "971"
1011
+ :national_dialing_prefix: "0"
1012
+ :char_2_code: "0"
1013
+ :char_3_code: "AE"
1014
+ :name: United Arab Emirates
1015
+ :international_dialing_prefix: "00"
1016
+ :area_code: "2|3|6|9|48|5[0568]|7[07]|88|4|7"
1017
+ :local_number_format: "\\d{7}"
1018
+ :mobile_format: "(50|55|56)\\d{7}"
1019
+ :number_format: "\\d{8,9}"
1020
+ "238":
1021
+ :country_code: "238"
1022
+ :national_dialing_prefix: None
1023
+ :char_2_code: None
1024
+ :char_3_code: "CV"
1025
+ :name: Cape Verde
1026
+ :international_dialing_prefix: "00"
1027
+ "266":
1028
+ :country_code: "266"
1029
+ :national_dialing_prefix: None
1030
+ :char_2_code: None
1031
+ :char_3_code: "LS"
1032
+ :name: Lesotho
1033
+ :international_dialing_prefix: "00"
1034
+ "239":
1035
+ :country_code: "239"
1036
+ :national_dialing_prefix: "0"
1037
+ :char_2_code: "0"
1038
+ :char_3_code: "ST"
1039
+ :name: Sao Tome and Principe
1040
+ :international_dialing_prefix: "00"
1041
+ "7":
1042
+ :country_code: "7"
1043
+ :national_dialing_prefix: "8"
1044
+ :char_2_code: "8"
1045
+ :char_3_code: "RU"
1046
+ :name: Russian Federation
1047
+ :international_dialing_prefix: "810"
1048
+ "98":
1049
+ :country_code: "98"
1050
+ :national_dialing_prefix: "0"
1051
+ :char_2_code: "0"
1052
+ :char_3_code: "IR"
1053
+ :name: Iran, Islamic Republic Of
1054
+ :international_dialing_prefix: "00"
1055
+ :area_code: "[2]\\d|[3-9]\\d\\d"
1056
+ :local_number_format: "\\d{7,8}"
1057
+ :mobile_format: "9\\d{9}"
1058
+ :number_format: "\\d{10}"
1059
+ "972":
1060
+ :country_code: "972"
1061
+ :national_dialing_prefix: "0"
1062
+ :char_2_code: "0"
1063
+ :char_3_code: "IL"
1064
+ :name: Israel
1065
+ :international_dialing_prefix: "00"
1066
+ :area_code: "[2-46-9]|5\\d"
1067
+ :local_number_format: "\\d{7}"
1068
+ :mobile_format: "5\\d{8}"
1069
+ :number_format: "\\d{8,9}"
1070
+ "350":
1071
+ :country_code: "350"
1072
+ :national_dialing_prefix: None
1073
+ :char_2_code: None
1074
+ :char_3_code: "GI"
1075
+ :name: Gibraltar
1076
+ :international_dialing_prefix: "00"
1077
+ "267":
1078
+ :country_code: "267"
1079
+ :national_dialing_prefix: None
1080
+ :char_2_code: None
1081
+ :char_3_code: "BW"
1082
+ :name: Botswana
1083
+ :international_dialing_prefix: "00"
1084
+ "690":
1085
+ :country_code: "690"
1086
+ :national_dialing_prefix: None
1087
+ :char_2_code: None
1088
+ :char_3_code: "TK"
1089
+ :name: Tokelau
1090
+ :international_dialing_prefix: "00"
1091
+ "268":
1092
+ :country_code: "268"
1093
+ :national_dialing_prefix: None
1094
+ :char_2_code: None
1095
+ :char_3_code: "SZ"
1096
+ :name: Swaziland
1097
+ :international_dialing_prefix: "00"
1098
+ "40":
1099
+ :country_code: "40"
1100
+ :national_dialing_prefix: "0"
1101
+ :char_2_code: "0"
1102
+ :char_3_code: "RO"
1103
+ :name: Romania
1104
+ :international_dialing_prefix: "00"
1105
+ "351":
1106
+ :country_code: "351"
1107
+ :national_dialing_prefix: None
1108
+ :char_2_code: None
1109
+ :char_3_code: "PT"
1110
+ :name: Portugal
1111
+ :international_dialing_prefix: "00"
1112
+ :area_code: "2[12]|2[3-9][1-9]|70[78]|80[089]|9[136]|92[1-9]"
1113
+ :local_number_format: "\\d{6,7}"
1114
+ :mobile_format: "9\\d{8}"
1115
+ :number_format: "\\d{9}"
1116
+ "973":
1117
+ :country_code: "973"
1118
+ :national_dialing_prefix: None
1119
+ :char_2_code: None
1120
+ :char_3_code: "BH"
1121
+ :name: Bahrain
1122
+ :international_dialing_prefix: "00"
1123
+ "380":
1124
+ :country_code: "380"
1125
+ :national_dialing_prefix: "0"
1126
+ :char_2_code: "0"
1127
+ :char_3_code: "UA"
1128
+ :name: Ukraine
1129
+ :international_dialing_prefix: "00"
1130
+ :area_code: "[1-9]\\d"
1131
+ :local_number_format: "\\d{7}"
1132
+ :mobile_format: "(39|50|6[3678]|9\\d)\\d{7}"
1133
+ :number_format: "\\d{9}"
1134
+ "41":
1135
+ :country_code: "41"
1136
+ :national_dialing_prefix: "0"
1137
+ :char_2_code: "0"
1138
+ :char_3_code: "CH"
1139
+ :name: Switzerland
1140
+ :international_dialing_prefix: "00"
1141
+ "974":
1142
+ :country_code: "974"
1143
+ :national_dialing_prefix: None
1144
+ :char_2_code: None
1145
+ :char_3_code: "QA"
1146
+ :name: Qatar
1147
+ :international_dialing_prefix: "00"
1148
+ :area_code: "33|44|55|66|77"
1149
+ :local_number_format: "\\d{6}"
1150
+ :mobile_format: "(33|55|66|77)\\d{6}"
1151
+ :number_format: "\\d{8}"
1152
+ "691":
1153
+ :country_code: "691"
1154
+ :national_dialing_prefix: "1"
1155
+ :char_2_code: "1"
1156
+ :char_3_code: "FM"
1157
+ :name: Micronesia, Federated States Of
1158
+ :international_dialing_prefix: "011"
1159
+ "297":
1160
+ :country_code: "297"
1161
+ :national_dialing_prefix: None
1162
+ :char_2_code: None
1163
+ :char_3_code: "AW"
1164
+ :name: Aruba
1165
+ :international_dialing_prefix: "00"
1166
+ "352":
1167
+ :country_code: "352"
1168
+ :national_dialing_prefix: None
1169
+ :char_2_code: None
1170
+ :char_3_code: "LU"
1171
+ :name: Luxembourg
1172
+ :international_dialing_prefix: "00"
1173
+ "269":
1174
+ :country_code: "269"
1175
+ :national_dialing_prefix: None
1176
+ :char_2_code: None
1177
+ :char_3_code: "YT"
1178
+ :name: Mayotte
1179
+ :international_dialing_prefix: "00"
1180
+ "381":
1181
+ :country_code: "381"
1182
+ :national_dialing_prefix: "0"
1183
+ :char_2_code: "0"
1184
+ :char_3_code: "RS"
1185
+ :name: Serbia
1186
+ :international_dialing_prefix: "00"
1187
+ :area_code: "[1-9]\\d"
1188
+ :local_number_format: "\\d{7}"
1189
+ :mobile_format: "6\\d{7,8}"
1190
+ :number_format: "[1-57-9]\\d{6,8}|6\\d{7,8}"
1191
+ "975":
1192
+ :country_code: "975"
1193
+ :national_dialing_prefix: None
1194
+ :char_2_code: None
1195
+ :char_3_code: "BT"
1196
+ :name: Bhutan
1197
+ :international_dialing_prefix: "00"
1198
+ :area_code: "17|[2-9]"
1199
+ :local_number_format: "\\d{6}"
1200
+ :mobile_format: "17\\d{6}"
1201
+ :number_format: "1\\d{7}|[2-9]\\d{6}"
1202
+ "298":
1203
+ :country_code: "298"
1204
+ :national_dialing_prefix: None
1205
+ :char_2_code: None
1206
+ :char_3_code: "FO"
1207
+ :name: Faroe Islands
1208
+ :international_dialing_prefix: "00"
1209
+ "353":
1210
+ :country_code: "353"
1211
+ :national_dialing_prefix: "0"
1212
+ :char_2_code: "0"
1213
+ :char_3_code: "IE"
1214
+ :name: Ireland
1215
+ :international_dialing_prefix: "00"
1216
+ "692":
1217
+ :country_code: "692"
1218
+ :national_dialing_prefix: "1"
1219
+ :char_2_code: "1"
1220
+ :char_3_code: "MH"
1221
+ :name: Marshall Islands
1222
+ :international_dialing_prefix: "00"
1223
+ "212":
1224
+ :country_code: "212"
1225
+ :national_dialing_prefix: "0"
1226
+ :char_2_code: "0"
1227
+ :char_3_code: "MA"
1228
+ :name: Morocco
1229
+ :international_dialing_prefix: "00"
1230
+ "382":
1231
+ :country_code: "382"
1232
+ :national_dialing_prefix: "0"
1233
+ :char_2_code: "0"
1234
+ :char_3_code: "ME"
1235
+ :name: Montenegro
1236
+ :international_dialing_prefix: "00"
1237
+ "976":
1238
+ :country_code: "976"
1239
+ :national_dialing_prefix: "0"
1240
+ :char_2_code: "0"
1241
+ :char_3_code: "MN"
1242
+ :name: Mongolia
1243
+ :international_dialing_prefix: "001"
1244
+ "240":
1245
+ :country_code: "240"
1246
+ :national_dialing_prefix: None
1247
+ :char_2_code: None
1248
+ :char_3_code: "GQ"
1249
+ :name: Equatorial Guinea
1250
+ :international_dialing_prefix: "00"
1251
+ "299":
1252
+ :country_code: "299"
1253
+ :national_dialing_prefix: None
1254
+ :char_2_code: None
1255
+ :char_3_code: "GL"
1256
+ :name: Greenland
1257
+ :international_dialing_prefix: "00"
1258
+ "354":
1259
+ :country_code: "354"
1260
+ :national_dialing_prefix: "0"
1261
+ :char_2_code: "0"
1262
+ :char_3_code: "IS"
1263
+ :name: Iceland
1264
+ :international_dialing_prefix: "00"
1265
+ "43":
1266
+ :country_code: "43"
1267
+ :national_dialing_prefix: "0"
1268
+ :char_2_code: "0"
1269
+ :char_3_code: "AT"
1270
+ :name: Austria
1271
+ :international_dialing_prefix: "00"
1272
+ :area_code: "6|\\d{1,4}"
1273
+ :local_number_format: "\\d{1,12}"
1274
+ :mobile_format: "6\\d{8}"
1275
+ :number_format: "\\d{5,13}"
1276
+ "977":
1277
+ :country_code: "977"
1278
+ :national_dialing_prefix: "0"
1279
+ :char_2_code: "0"
1280
+ :char_3_code: "NP"
1281
+ :name: Nepal
1282
+ :international_dialing_prefix: "00"
1283
+ :area_code: "1|21|41|5[16]|6[145]|71|98"
1284
+ :local_number_format: "\\d{6,8}"
1285
+ :mobile_format: "98\\d{8}"
1286
+ :number_format: "\\d{8}|98\\d{8}"
1287
+ "241":
1288
+ :country_code: "241"
1289
+ :national_dialing_prefix: None
1290
+ :char_2_code: None
1291
+ :char_3_code: "GA"
1292
+ :name: Gabon
1293
+ :international_dialing_prefix: "00"
1294
+ "355":
1295
+ :country_code: "355"
1296
+ :national_dialing_prefix: "0"
1297
+ :char_2_code: "0"
1298
+ :char_3_code: "AL"
1299
+ :name: Albania
1300
+ :international_dialing_prefix: "00"
1301
+ :area_code: "6|4|[235789]\\d\\d?"
1302
+ :local_number_format: "\\d{5,8}"
1303
+ :mobile_format: "6\\d{8}"
1304
+ :number_format: "6\\d{8}|[2-5789]\\d{7}"
1305
+ "213":
1306
+ :country_code: "213"
1307
+ :national_dialing_prefix: "7"
1308
+ :char_2_code: "7"
1309
+ :char_3_code: "DZ"
1310
+ :name: Algeria
1311
+ :international_dialing_prefix: "00"
1312
+ :area_code: "[2-8]\\d"
1313
+ :local_number_format: "\\d{6,7}"
1314
+ :mobile_format: "(55|6[69]|7[79])\\d{7}"
1315
+ :number_format: "(55|6[69]|7[79])\\d{7}|\\d{8}"
1316
+ "44":
1317
+ :country_code: "44"
1318
+ :national_dialing_prefix: "0"
1319
+ :char_2_code: "0"
1320
+ :char_3_code: "GB"
1321
+ :name: United Kingdom
1322
+ :international_dialing_prefix: "00"
1323
+ :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"
1324
+ :local_number_format: "\\d{4,8}"
1325
+ :mobile_format: "7\\d{9}"
1326
+ :number_format: "\\d{9,10}"
1327
+ "242":
1328
+ :country_code: "242"
1329
+ :national_dialing_prefix: None
1330
+ :char_2_code: None
1331
+ :char_3_code: "CG"
1332
+ :name: Congo
1333
+ :international_dialing_prefix: "00"
1334
+ "356":
1335
+ :country_code: "356"
1336
+ :national_dialing_prefix: "21"
1337
+ :char_2_code: "21"
1338
+ :char_3_code: "MT"
1339
+ :name: Malta
1340
+ :international_dialing_prefix: "00"
1341
+ "357":
1342
+ :country_code: "357"
1343
+ :national_dialing_prefix: None
1344
+ :char_2_code: None
1345
+ :char_3_code: "CY"
1346
+ :name: Cyprus
1347
+ :international_dialing_prefix: "00"
1348
+ :area_code: "2\\d|99"
1349
+ :local_number_format: "\\d{6}"
1350
+ :mobile_format: "99\\d{6}"
1351
+ :number_format: "\\d{8}"
1352
+ "45":
1353
+ :country_code: "45"
1354
+ :national_dialing_prefix: None
1355
+ :char_2_code: None
1356
+ :char_3_code: "DK"
1357
+ :name: Denmark
1358
+ :international_dialing_prefix: "00"
1359
+ :area_code: "\\d{2}"
1360
+ :local_number_format: "\\d{6}"
1361
+ :number_format: "\\d{8}"
1362
+ :mobile_format: "40\\d{6}"
1363
+ "46":
1364
+ :country_code: "46"
1365
+ :national_dialing_prefix: "0"
1366
+ :char_2_code: "0"
1367
+ :char_3_code: "SE"
1368
+ :name: Sweden
1369
+ :international_dialing_prefix: "00"
1370
+ :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"
1371
+ :local_number_format: "\\d{5,8}"
1372
+ :mobile_format: "7\\d{8}"
1373
+ :number_format: "\\d{7,10}"
1374
+ "47":
1375
+ :country_code: "47"
1376
+ :national_dialing_prefix: None
1377
+ :char_2_code: None
1378
+ :char_3_code: "NO"
1379
+ :name: Norway
1380
+ :international_dialing_prefix: "00"
1381
+ :area_code: "23|3[378]|6[29]|77|4|5|7|9|\\d{1,2}"
1382
+ :local_number_format: "\\d{6,7}"
1383
+ :mobile_format: "[49]\\d{7}"
1384
+ :number_format: "\\d{8}"
1385
+ "385":
1386
+ :country_code: "385"
1387
+ :national_dialing_prefix: "0"
1388
+ :char_2_code: "0"
1389
+ :char_3_code: "HR"
1390
+ :name: Croatia
1391
+ :international_dialing_prefix: "00"
1392
+ :area_code: "1|[2-9]\\d"
1393
+ :local_number_format: "\\d{6,7}"
1394
+ :mobile_format: "9\\d{8}"
1395
+ :number_format: "[1-8]\\d{7,8}|9\\d{8}"
1396
+ "243":
1397
+ :country_code: "243"
1398
+ :national_dialing_prefix: None
1399
+ :char_2_code: None
1400
+ :char_3_code: "CD"
1401
+ :name: Congo, The Democratic Republic Of The
1402
+ :international_dialing_prefix: "00"
1403
+ "216":
1404
+ :country_code: "216"
1405
+ :national_dialing_prefix: None
1406
+ :char_2_code: None
1407
+ :char_3_code: "TN"
1408
+ :name: Tunisia
1409
+ :international_dialing_prefix: "00"
1410
+ "386":
1411
+ :country_code: "386"
1412
+ :national_dialing_prefix: "0"
1413
+ :char_2_code: "0"
1414
+ :char_3_code: "SI"
1415
+ :name: Slovenia
1416
+ :international_dialing_prefix: "00"
1417
+ :area_code: "3[01]|4[01]|51|7[01]|64|59|1|2|3|4|5|6|7"
1418
+ :local_number_format: "\\d{6,7}"
1419
+ :mobile_format: "(3[01]|4[01]|51|6[456789]|7[01])\\d{6}"
1420
+ :number_format: "\\d{8}"
1421
+ "358":
1422
+ :country_code: "358"
1423
+ :national_dialing_prefix: "0"
1424
+ :char_2_code: "0"
1425
+ :char_3_code: "FI"
1426
+ :name: Finland
1427
+ :international_dialing_prefix: "00"
1428
+ :area_code: "2|3|4|50|5|8|9|\\d{2}"
1429
+ :local_number_format: "\\d{7,8}"
1430
+ :mobile_format: "4\\d{8}|50\\d{7}"
1431
+ :number_format: "\\d{9}"
1432
+ "244":
1433
+ :country_code: "244"
1434
+ :national_dialing_prefix: "0"
1435
+ :char_2_code: "0"
1436
+ :char_3_code: "AO"
1437
+ :name: Angola
1438
+ :international_dialing_prefix: "00"
1439
+ "359":
1440
+ :country_code: "359"
1441
+ :national_dialing_prefix: "0"
1442
+ :char_2_code: "0"
1443
+ :char_3_code: "BG"
1444
+ :name: Bulgaria
1445
+ :international_dialing_prefix: "00"
1446
+ :area_code: "2|32|4[2348]|5[268]|64|8[2789]|98"
1447
+ :local_number_format: "\\d{6,7}"
1448
+ :mobile_format: "(8[789]|98)\\d{7}|4[38]\\d{6}"
1449
+ :number_format: "\\d{8}|(8[789]|98)\\d{7}"
1450
+ "387":
1451
+ :country_code: "387"
1452
+ :national_dialing_prefix: "0"
1453
+ :char_2_code: "0"
1454
+ :char_3_code: "BA"
1455
+ :name: Bosnia and Herzegovina
1456
+ :international_dialing_prefix: "00"
1457
+ :area_code: "6|[0-57-9]\\d"
1458
+ :local_number_format: "\\d{6,7}"
1459
+ :mobile_format: "[6]\\d{7}"
1460
+ :number_format: "\\d{8}"
1461
+ "245":
1462
+ :country_code: "245"
1463
+ :national_dialing_prefix: None
1464
+ :char_2_code: None
1465
+ :char_3_code: "GW"
1466
+ :name: Guinea-Bissau
1467
+ :international_dialing_prefix: "00"
1468
+ "48":
1469
+ :country_code: "48"
1470
+ :national_dialing_prefix: "0"
1471
+ :char_2_code: "0"
1472
+ :char_3_code: "PL"
1473
+ :name: Poland
1474
+ :international_dialing_prefix: "00"
1475
+ "218":
1476
+ :country_code: "218"
1477
+ :national_dialing_prefix: "0"
1478
+ :char_2_code: "0"
1479
+ :char_3_code: "LY"
1480
+ :name: Libyan Arab Jamahiriya
1481
+ :international_dialing_prefix: "00"
1482
+ "49":
1483
+ :country_code: "49"
1484
+ :national_dialing_prefix: "0"
1485
+ :char_2_code: "0"
1486
+ :char_3_code: "DE"
1487
+ :name: Germany
1488
+ :international_dialing_prefix: "00"
1489
+ :area_code: "\\d{2,5}"
1490
+ :local_number_format: "\\d{7}"
1491
+ :mobile_format: "1\\d{9,10}"
1492
+ :number_format: "\\d{5,11}"
1493
+ "389":
1494
+ :country_code: "389"
1495
+ :national_dialing_prefix: "0"
1496
+ :char_2_code: "0"
1497
+ :char_3_code: "MK"
1498
+ :name: Macedonia, the Former Yugoslav Republic Of
1499
+ :international_dialing_prefix: "00"
1500
+ "670":
1501
+ :country_code: "670"
1502
+ :national_dialing_prefix: None
1503
+ :char_2_code: None
1504
+ :char_3_code: "TL"
1505
+ :name: Timor-Leste
1506
+ :international_dialing_prefix: "00"
1507
+ "248":
1508
+ :country_code: "248"
1509
+ :national_dialing_prefix: None
1510
+ :char_2_code: None
1511
+ :char_3_code: "SC"
1512
+ :name: Seychelles
1513
+ :international_dialing_prefix: "00"
1514
+ "20":
1515
+ :country_code: "20"
1516
+ :national_dialing_prefix: "0"
1517
+ :char_2_code: "0"
1518
+ :char_3_code: "EG"
1519
+ :name: Egypt
1520
+ :international_dialing_prefix: "00"
1521
+ :area_code: "[1-3]|[4-9]\\d"
1522
+ :local_number_format: "\\d{7,9}"
1523
+ :mobile_format: "1\\d{9}"
1524
+ :number_format: "\\d{9,10}"
1525
+ "500":
1526
+ :country_code: "500"
1527
+ :national_dialing_prefix: None
1528
+ :char_2_code: None
1529
+ :char_3_code: "FK"
1530
+ :name: Falkland Islands (Malvinas)
1531
+ :international_dialing_prefix: "00"
1532
+ "249":
1533
+ :country_code: "249"
1534
+ :national_dialing_prefix: "0"
1535
+ :char_2_code: "0"
1536
+ :char_3_code: "SD"
1537
+ :name: Sudan
1538
+ :international_dialing_prefix: "00"
1539
+ "501":
1540
+ :country_code: "501"
1541
+ :national_dialing_prefix: "0"
1542
+ :char_2_code: "0"
1543
+ :char_3_code: "BZ"
1544
+ :name: Belize
1545
+ :international_dialing_prefix: "00"
1546
+ :area_code: "[1-9]"
1547
+ :local_number_format: "\\d{6}"
1548
+ :mobile_format: "6\\d{6}"
1549
+ :number_format: "\\d{7}"
1550
+ "672":
1551
+ :country_code: "672"
1552
+ :national_dialing_prefix: None
1553
+ :char_2_code: None
1554
+ :char_3_code: "NF"
1555
+ :name: Norfolk Island
1556
+ :international_dialing_prefix: "00"
1557
+ "502":
1558
+ :country_code: "502"
1559
+ :national_dialing_prefix: None
1560
+ :char_2_code: None
1561
+ :char_3_code: "GT"
1562
+ :name: Guatemala
1563
+ :international_dialing_prefix: "00"
1564
+ :area_code: "\\d"
1565
+ :local_number_format: "\\d{7}"
1566
+ :mobile_format: "[45]\\d{7}"
1567
+ :number_format: "\\d{8}"
1568
+ "51":
1569
+ :country_code: "51"
1570
+ :national_dialing_prefix: "0"
1571
+ :char_2_code: "0"
1572
+ :char_3_code: "PE"
1573
+ :name: Peru
1574
+ :international_dialing_prefix: "00"
1575
+ "220":
1576
+ :country_code: "220"
1577
+ :national_dialing_prefix: None
1578
+ :char_2_code: None
1579
+ :char_3_code: "GM"
1580
+ :name: Gambia
1581
+ :international_dialing_prefix: "00"
1582
+ "673":
1583
+ :country_code: "673"
1584
+ :national_dialing_prefix: "0"
1585
+ :char_2_code: "0"
1586
+ :char_3_code: "BN"
1587
+ :name: Brunei Darussalam
1588
+ :international_dialing_prefix: "00"
1589
+ "503":
1590
+ :country_code: "503"
1591
+ :national_dialing_prefix: None
1592
+ :char_2_code: None
1593
+ :char_3_code: "SV"
1594
+ :name: El Salvador
1595
+ :international_dialing_prefix: "00"
1596
+ :area_code: "[27]"
1597
+ :local_number_format: "\\d{7}"
1598
+ :mobile_format: "7\\d{7}"
1599
+ :number_format: "\\d{8}"
1600
+ "221":
1601
+ :country_code: "221"
1602
+ :national_dialing_prefix: None
1603
+ :char_2_code: None
1604
+ :char_3_code: "SN"
1605
+ :name: Senegal
1606
+ :international_dialing_prefix: "00"
1607
+ "674":
1608
+ :country_code: "674"
1609
+ :national_dialing_prefix: "0"
1610
+ :char_2_code: "0"
1611
+ :char_3_code: "NR"
1612
+ :name: Nauru
1613
+ :international_dialing_prefix: "00"
1614
+ "52":
1615
+ :country_code: "52"
1616
+ :national_dialing_prefix: "1"
1617
+ :char_2_code: "1"
1618
+ :char_3_code: "MX"
1619
+ :name: Mexico
1620
+ :international_dialing_prefix: "00"
1621
+ "504":
1622
+ :country_code: "504"
1623
+ :national_dialing_prefix: None
1624
+ :char_2_code: None
1625
+ :char_3_code: "HN"
1626
+ :name: Honduras
1627
+ :international_dialing_prefix: "00"
1628
+ "250":
1629
+ :country_code: "250"
1630
+ :national_dialing_prefix: "0"
1631
+ :char_2_code: "0"
1632
+ :char_3_code: "RW"
1633
+ :name: Rwanda
1634
+ :international_dialing_prefix: "00"
1635
+ "872":
1636
+ :country_code: "872"
1637
+ :national_dialing_prefix: "0"
1638
+ :char_2_code: "0"
1639
+ :char_3_code: "PN"
1640
+ :name: Pitcairn
1641
+ :international_dialing_prefix: "00"
1642
+ "675":
1643
+ :country_code: "675"
1644
+ :national_dialing_prefix: None
1645
+ :char_2_code: None
1646
+ :char_3_code: "PG"
1647
+ :name: Papua New Guinea
1648
+ :international_dialing_prefix: "00"
1649
+ "505":
1650
+ :country_code: "505"
1651
+ :national_dialing_prefix: None
1652
+ :char_2_code: None
1653
+ :char_3_code: "NI"
1654
+ :name: Nicaragua
1655
+ :international_dialing_prefix: "00"
1656
+ "222":
1657
+ :country_code: "222"
1658
+ :national_dialing_prefix: "0"
1659
+ :char_2_code: "0"
1660
+ :char_3_code: "MR"
1661
+ :name: Mauritania
1662
+ :international_dialing_prefix: "00"
1663
+ "53":
1664
+ :country_code: "53"
1665
+ :national_dialing_prefix: "0"
1666
+ :char_2_code: "0"
1667
+ :char_3_code: "CU"
1668
+ :name: Cuba
1669
+ :international_dialing_prefix: "119"
1670
+ "81":
1671
+ :country_code: "81"
1672
+ :national_dialing_prefix: "0"
1673
+ :char_2_code: "0"
1674
+ :char_3_code: "JP"
1675
+ :name: Japan
1676
+ :international_dialing_prefix: "010"
1677
+ "211":
1678
+ :country_code: "211"
1679
+ :national_dialing_prefix: "0"
1680
+ :char_2_code: "0"
1681
+ :char_3_code: "SS"
1682
+ :name: South Sudan
1683
+ :international_dialing_prefix: "00"