validates_zipcode 0.3.2 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/spec/spec_helper.rb CHANGED
@@ -1,2 +1,3570 @@
1
1
  # frozen_string_literal: true
2
2
  require 'validates_zipcode'
3
+
4
+ TEST_DATA = {
5
+ GB: {
6
+ valid: [
7
+ 'ID1 1QD',
8
+ 'M32 0JG',
9
+ 'NE30 1DP',
10
+ 'OX49 5NU',
11
+ 'SW1A 2AA',
12
+ 'W1K 7DA',
13
+ 'id1 1qd',
14
+ 'Sw1A 2aA',
15
+ 'id11qd',
16
+ 'SW1A2AA'
17
+ ],
18
+ invalid: [
19
+ nil,
20
+ '',
21
+ 'invalid_zip',
22
+ 'nope',
23
+ 'id11qd1000',
24
+ '28001'
25
+ ]
26
+ },
27
+ UK: {
28
+ valid: [
29
+ 'ID1 1QD',
30
+ 'M32 0JG',
31
+ 'NE30 1DP',
32
+ 'OX49 5NU',
33
+ 'SW1A 2AA',
34
+ 'W1K 7DA',
35
+ 'id1 1qd',
36
+ 'Sw1A 2aA',
37
+ 'id11qd',
38
+ 'SW1A2AA'
39
+ ],
40
+ invalid: [
41
+ nil,
42
+ '',
43
+ 'invalid_zip',
44
+ 'nope',
45
+ 'id11qd1000',
46
+ '28001'
47
+ ]
48
+ },
49
+ JE: {
50
+ valid: [
51
+ 'JE1 1QD',
52
+ 'JE32 0JG',
53
+ 'JE30 1DP',
54
+ 'JE49 5NU',
55
+ 'je1 2aA'
56
+ ],
57
+ invalid: [
58
+ nil,
59
+ '',
60
+ 'invalid_zip',
61
+ 'nope',
62
+ 'id11qd1000',
63
+ '28001'
64
+ ]
65
+ },
66
+ GG: {
67
+ valid: [
68
+ 'GY1 1QD',
69
+ 'GY32 0JG',
70
+ 'GY30 1DP',
71
+ 'GY49 5NU',
72
+ 'gy1 2aA'
73
+ ],
74
+ invalid: [
75
+ nil,
76
+ '',
77
+ 'invalid_zip',
78
+ 'nope',
79
+ 'id11qd1000',
80
+ '28001'
81
+ ]
82
+ },
83
+ IM: {
84
+ valid: [
85
+ 'IM1 1QD',
86
+ 'IM32 0JG',
87
+ 'IM30 1DP',
88
+ 'IM49 5NU',
89
+ 'im1 2aA'
90
+ ],
91
+ invalid: [
92
+ nil,
93
+ '',
94
+ 'invalid_zip',
95
+ 'nope',
96
+ 'id11qd1000',
97
+ '28001'
98
+ ]
99
+ },
100
+ US: {
101
+ valid: [
102
+ 12_345,
103
+ '12345',
104
+ '12345-1234',
105
+ '12345-123456',
106
+ '12345 1234',
107
+ '12345 123456'
108
+ ],
109
+ invalid: [
110
+ nil,
111
+ '',
112
+ 'invalid_zip',
113
+ '1234',
114
+ '12345-12345',
115
+ 'D0D0D0'
116
+ ]
117
+ },
118
+ IE: {
119
+ valid: [
120
+ 'D02 AF30',
121
+ 'X91 PK81',
122
+ 'V94 H2PP',
123
+ 'D07 R6YE',
124
+ 'D6W1234',
125
+ 'A230984',
126
+ 'D00AV92',
127
+ 'Y631FHK',
128
+ 'A000000',
129
+ 'D44N4X4'
130
+ ],
131
+ invalid: [
132
+ nil,
133
+ '',
134
+ 'invalid_zip',
135
+ '1234',
136
+ '12345-12345'
137
+ ]
138
+ },
139
+ CA: {
140
+ valid: [
141
+ 'A1J2Z9',
142
+ 'P5R3E3',
143
+ 'S9G 6S0',
144
+ 'V8G3K9'
145
+ ],
146
+ invalid: [
147
+ nil,
148
+ '',
149
+ 'invalid_zip',
150
+ 'C1424CHN',
151
+ '12345',
152
+ 'D0D0D0'
153
+ ]
154
+ },
155
+ DE: {
156
+ valid: %w[
157
+ 07113
158
+ 02566
159
+ 66261
160
+ ],
161
+ invalid: [
162
+ nil,
163
+ '',
164
+ 'invalid_zip',
165
+ '1234',
166
+ '12345-12345',
167
+ 'D0D0D0'
168
+ ]
169
+ },
170
+ AU: {
171
+ valid: %w[
172
+ 7113
173
+ 2566
174
+ 6261
175
+ 7113
176
+ ],
177
+ invalid: [
178
+ nil,
179
+ '',
180
+ 'invalid_zip',
181
+ '12345',
182
+ '1234-1234',
183
+ 'D0D0D0'
184
+ ]
185
+ },
186
+ IT: {
187
+ valid: %w[
188
+ 07113
189
+ 02566
190
+ 66261
191
+ ],
192
+ invalid: [
193
+ nil,
194
+ '',
195
+ 'invalid_zip',
196
+ '1234',
197
+ '12345-12345',
198
+ 'D0D0D0'
199
+ ]
200
+ },
201
+ CH: {
202
+ valid: %w[
203
+ 7113
204
+ 2566
205
+ 6261
206
+ 7113
207
+ ],
208
+ invalid: [
209
+ nil,
210
+ '',
211
+ 'invalid_zip',
212
+ '12345',
213
+ '1234-1234',
214
+ 'D0D0D0'
215
+ ]
216
+ },
217
+ AT: {
218
+ valid: %w[
219
+ 7113
220
+ 2566
221
+ 6261
222
+ 7113
223
+ ],
224
+ invalid: [
225
+ nil,
226
+ '',
227
+ 'invalid_zip',
228
+ '12345',
229
+ '1234-1234',
230
+ 'D0D0D0'
231
+ ]
232
+ },
233
+ ES: {
234
+ valid: %w[
235
+ 07113
236
+ 02566
237
+ 66261
238
+ ],
239
+ invalid: [
240
+ nil,
241
+ '',
242
+ 'invalid_zip',
243
+ '1234',
244
+ '12345-12345',
245
+ 'D0D0D0'
246
+ ]
247
+ },
248
+ NL: {
249
+ valid: [
250
+ '1001 AA',
251
+ '6388SW',
252
+ '7144SX',
253
+ '1001 AA'
254
+ ],
255
+ invalid: [
256
+ nil,
257
+ '',
258
+ 'invalid_zip',
259
+ '0100 AA',
260
+ '1001 SS',
261
+ '1111 SD',
262
+ '1001 SA',
263
+ '1001 aa',
264
+ '6388sW'
265
+ ]
266
+ },
267
+ BE: {
268
+ valid: %w[
269
+ 7113
270
+ 2566
271
+ 6261
272
+ 7113
273
+ ],
274
+ invalid: [
275
+ nil,
276
+ '',
277
+ 'invalid_zip',
278
+ '12345',
279
+ '1234-1234',
280
+ 'D0D0D0'
281
+ ]
282
+ },
283
+ DK: {
284
+ valid: %w[
285
+ 7113
286
+ 2566
287
+ 6261
288
+ 7113
289
+ ],
290
+ invalid: [
291
+ nil,
292
+ '',
293
+ 'invalid_zip',
294
+ '12345',
295
+ '1234-1234',
296
+ 'D0D0D0'
297
+ ]
298
+ },
299
+ NO: {
300
+ valid: %w[
301
+ 7113
302
+ 2566
303
+ 6261
304
+ 7113
305
+ ],
306
+ invalid: [
307
+ nil,
308
+ '',
309
+ 'invalid_zip',
310
+ '12345',
311
+ '1234-1234',
312
+ 'D0D0D0'
313
+ ]
314
+ },
315
+ FI: {
316
+ valid: %w[
317
+ 07113
318
+ 02566
319
+ 66261
320
+ ],
321
+ invalid: [
322
+ nil,
323
+ '',
324
+ 'invalid_zip',
325
+ '1234',
326
+ '12345-12345',
327
+ 'D0D0D0'
328
+ ]
329
+ },
330
+ AX: {
331
+ valid: %w[
332
+ 22113
333
+ 22566
334
+ 22261
335
+ ],
336
+ invalid: [
337
+ nil,
338
+ '',
339
+ 'invalid_zip',
340
+ '07113',
341
+ '2234',
342
+ '22113-22113',
343
+ 'D0D0D0'
344
+ ]
345
+ },
346
+ KR: {
347
+ valid: [
348
+ '72315',
349
+ '723-150',
350
+ '11011',
351
+ '110-110'
352
+ ],
353
+ invalid: [
354
+ nil,
355
+ '',
356
+ 'invalid_zip',
357
+ '723155'
358
+ ]
359
+ },
360
+ CN: {
361
+ valid: %w[
362
+ 071134
363
+ 025663
364
+ 662612
365
+ 071135
366
+ ],
367
+ invalid: [
368
+ nil,
369
+ '',
370
+ 'invalid_zip',
371
+ '12345',
372
+ '123456-123456',
373
+ 'D0D0D0'
374
+ ]
375
+ },
376
+ SG: {
377
+ valid: %w[
378
+ 071134
379
+ 025663
380
+ 662612
381
+ 071135
382
+ ],
383
+ invalid: [
384
+ nil,
385
+ '',
386
+ 'invalid_zip',
387
+ '12345',
388
+ '123456-123456',
389
+ 'D0D0D0'
390
+ ]
391
+ },
392
+ DZ: {
393
+ valid: %w[
394
+ 07113
395
+ 02566
396
+ 66261
397
+ ],
398
+ invalid: [
399
+ nil,
400
+ '',
401
+ 'invalid_zip',
402
+ '1234',
403
+ '12345-12345',
404
+ 'D0D0D0'
405
+ ]
406
+ },
407
+ AD: {
408
+ valid: %w[
409
+ AD113
410
+ AD566
411
+ AD261
412
+ ],
413
+ invalid: [
414
+ nil,
415
+ '',
416
+ 'invalid_zip',
417
+ 'AD34',
418
+ 'AD113-AD113',
419
+ 'D0D0D0'
420
+ ]
421
+ },
422
+ AR: {
423
+ valid: %w[
424
+ C1234CHN
425
+ C1234
426
+ ],
427
+ invalid: [
428
+ nil,
429
+ '',
430
+ 'invalid_zip',
431
+ 'I1234'
432
+ ]
433
+ },
434
+ AM: {
435
+ valid: %w[
436
+ 375010
437
+ 0010
438
+ 1234
439
+ ],
440
+ invalid: [
441
+ nil,
442
+ '',
443
+ 'invalid_zip',
444
+ '123456'
445
+ ]
446
+ },
447
+ BD: {
448
+ valid: %w[
449
+ 7113
450
+ 2566
451
+ 6261
452
+ 7113
453
+ ],
454
+ invalid: [
455
+ nil,
456
+ '',
457
+ 'invalid_zip',
458
+ '12345',
459
+ '1234-1234',
460
+ 'D0D0D0'
461
+ ]
462
+ },
463
+ BB: {
464
+ valid: %w[
465
+ BB12345
466
+ BB20000
467
+ BB15156667
468
+ ],
469
+ invalid: [
470
+ nil,
471
+ '',
472
+ 'invalid_zip',
473
+ 'XY12345',
474
+ 'BB54837'
475
+ ]
476
+ },
477
+ BY: {
478
+ valid: %w[
479
+ 071134
480
+ 025663
481
+ 662612
482
+ 071135
483
+ ],
484
+ invalid: [
485
+ nil,
486
+ '',
487
+ 'invalid_zip',
488
+ '12345',
489
+ '123456-123456',
490
+ 'D0D0D0'
491
+ ]
492
+ },
493
+ BM: {
494
+ valid: [
495
+ 'ABCD',
496
+ 'AB12',
497
+ 'AB CD',
498
+ 'AB 12'
499
+ ],
500
+ invalid: [
501
+ nil,
502
+ '',
503
+ 'invalid_zip',
504
+ 'ABC 12',
505
+ '1234',
506
+ '12 34'
507
+ ]
508
+ },
509
+ BA: {
510
+ valid: %w[
511
+ 07113
512
+ 02566
513
+ 66261
514
+ ],
515
+ invalid: [
516
+ nil,
517
+ '',
518
+ 'invalid_zip',
519
+ '1234',
520
+ '12345-12345',
521
+ 'D0D0D0'
522
+ ]
523
+ },
524
+ BN: {
525
+ valid: [
526
+ 'BC1234',
527
+ 'KX 1234',
528
+ 'TC1234'
529
+ ],
530
+ invalid: [
531
+ nil,
532
+ '',
533
+ 'invalid_zip',
534
+ 'XC1234',
535
+ 'XC 1234'
536
+ ]
537
+ },
538
+ BG: {
539
+ valid: %w[
540
+ 7113
541
+ 2566
542
+ 6261
543
+ 7113
544
+ ],
545
+ invalid: [
546
+ nil,
547
+ '',
548
+ 'invalid_zip',
549
+ '12345',
550
+ '1234-1234',
551
+ 'D0D0D0'
552
+ ]
553
+ },
554
+ KH: {
555
+ valid: %w[
556
+ 07113
557
+ 02566
558
+ 66261
559
+ ],
560
+ invalid: [
561
+ nil,
562
+ '',
563
+ 'invalid_zip',
564
+ '1234',
565
+ '12345-12345',
566
+ 'D0D0D0'
567
+ ]
568
+ },
569
+ CV: {
570
+ valid: %w[
571
+ 7113
572
+ 2566
573
+ 6261
574
+ 7113
575
+ ],
576
+ invalid: [
577
+ nil,
578
+ '',
579
+ 'invalid_zip',
580
+ '12345',
581
+ '1234-1234',
582
+ 'D0D0D0'
583
+ ]
584
+ },
585
+ CL: {
586
+ valid: [
587
+ '123-1233',
588
+ '000-0000',
589
+ '1234567'
590
+ ],
591
+ invalid: [
592
+ nil,
593
+ '',
594
+ 'invalid_zip',
595
+ '1234',
596
+ '12345',
597
+ 'C1424CHN',
598
+ '122-12345'
599
+ ]
600
+ },
601
+ HR: {
602
+ valid: %w[
603
+ 07113
604
+ 02566
605
+ 66261
606
+ ],
607
+ invalid: [
608
+ nil,
609
+ '',
610
+ 'invalid_zip',
611
+ '1234',
612
+ '12345-12345',
613
+ 'D0D0D0'
614
+ ]
615
+ },
616
+ CY: {
617
+ valid: %w[
618
+ 7113
619
+ 2566
620
+ 6261
621
+ 7113
622
+ ],
623
+ invalid: [
624
+ nil,
625
+ '',
626
+ 'invalid_zip',
627
+ '12345',
628
+ '1234-1234',
629
+ 'D0D0D0'
630
+ ]
631
+ },
632
+ CZ: {
633
+ valid: [
634
+ '12000',
635
+ '721 00'
636
+ ],
637
+ invalid: [
638
+ nil,
639
+ '',
640
+ 'invalid_zip',
641
+ '981 32'
642
+ ]
643
+ },
644
+ DO: {
645
+ valid: %w[
646
+ 07113
647
+ 02566
648
+ 66261
649
+ ],
650
+ invalid: [
651
+ nil,
652
+ '',
653
+ 'invalid_zip',
654
+ '1234',
655
+ '12345-12345',
656
+ 'D0D0D0'
657
+ ]
658
+ },
659
+ EC: {
660
+ valid: %w[
661
+ 071134
662
+ 025663
663
+ 662612
664
+ 071135
665
+ ],
666
+ invalid: [
667
+ nil,
668
+ '',
669
+ 'invalid_zip',
670
+ '12345',
671
+ '123456-123456',
672
+ 'D0D0D0'
673
+ ]
674
+ },
675
+ EE: {
676
+ valid: %w[
677
+ 07113
678
+ 02566
679
+ 66261
680
+ ],
681
+ invalid: [
682
+ nil,
683
+ '',
684
+ 'invalid_zip',
685
+ '1234',
686
+ '12345-12345',
687
+ 'D0D0D0'
688
+ ]
689
+ },
690
+ FO: {
691
+ valid: %w[
692
+ 711
693
+ 256
694
+ 626
695
+ 711
696
+ ],
697
+ invalid: [
698
+ nil,
699
+ '',
700
+ 'invalid_zip',
701
+ '1234',
702
+ '123-123',
703
+ 'D0D0D0'
704
+ ]
705
+ },
706
+ GE: {
707
+ valid: %w[
708
+ 7113
709
+ 2566
710
+ 6261
711
+ 7113
712
+ ],
713
+ invalid: [
714
+ nil,
715
+ '',
716
+ 'invalid_zip',
717
+ '12345',
718
+ '1234-1234',
719
+ 'D0D0D0'
720
+ ]
721
+ },
722
+ GL: {
723
+ valid: %w[
724
+ 3900
725
+ 3973
726
+ ],
727
+ invalid: [
728
+ nil,
729
+ '',
730
+ 'invalid_zip',
731
+ '1234'
732
+ ]
733
+ },
734
+ GT: {
735
+ valid: %w[
736
+ 07113
737
+ 02566
738
+ 66261
739
+ ],
740
+ invalid: [
741
+ nil,
742
+ '',
743
+ 'invalid_zip',
744
+ '1234',
745
+ '12345-12345',
746
+ 'D0D0D0'
747
+ ]
748
+ },
749
+ HT: {
750
+ valid: %w[
751
+ 7113
752
+ 2566
753
+ 6261
754
+ 7113
755
+ ],
756
+ invalid: [
757
+ nil,
758
+ '',
759
+ 'invalid_zip',
760
+ '12345',
761
+ '1234-1234',
762
+ 'D0D0D0'
763
+ ]
764
+ },
765
+ HU: {
766
+ valid: %w[
767
+ 7113
768
+ 2566
769
+ 6261
770
+ 7113
771
+ ],
772
+ invalid: [
773
+ nil,
774
+ '',
775
+ 'invalid_zip',
776
+ '12345',
777
+ '1234-1234',
778
+ 'D0D0D0'
779
+ ]
780
+ },
781
+ IS: {
782
+ valid: %w[
783
+ 711
784
+ 256
785
+ 626
786
+ 711
787
+ ],
788
+ invalid: [
789
+ nil,
790
+ '',
791
+ 'invalid_zip',
792
+ '1234',
793
+ '123-123',
794
+ 'D0D0D0'
795
+ ]
796
+ },
797
+ IN: {
798
+ valid: %w[
799
+ 071134
800
+ 025663
801
+ 662612
802
+ 071135
803
+ ],
804
+ invalid: [
805
+ nil,
806
+ '',
807
+ 'invalid_zip',
808
+ '12345',
809
+ '123456-123456',
810
+ 'D0D0D0'
811
+ ]
812
+ },
813
+ ID: {
814
+ valid: %w[
815
+ 07113
816
+ 02566
817
+ 66261
818
+ ],
819
+ invalid: [
820
+ nil,
821
+ '',
822
+ 'invalid_zip',
823
+ '1234',
824
+ '12345-12345',
825
+ 'D0D0D0'
826
+ ]
827
+ },
828
+ IL: {
829
+ valid: %w[
830
+ 12345
831
+ 1234567
832
+ ],
833
+ invalid: [
834
+ nil,
835
+ '',
836
+ 'invalid_zip',
837
+ '123456'
838
+ ]
839
+ },
840
+ JO: {
841
+ valid: %w[
842
+ 07113
843
+ 02566
844
+ 66261
845
+ ],
846
+ invalid: [
847
+ nil,
848
+ '',
849
+ 'invalid_zip',
850
+ '1234',
851
+ '12345-12345',
852
+ 'D0D0D0'
853
+ ]
854
+ },
855
+ KZ: {
856
+ valid: %w[
857
+ 071134
858
+ 025663
859
+ 662612
860
+ 071135
861
+ ],
862
+ invalid: [
863
+ nil,
864
+ '',
865
+ 'invalid_zip',
866
+ '12345',
867
+ '123456-123456',
868
+ 'D0D0D0'
869
+ ]
870
+ },
871
+ KE: {
872
+ valid: %w[
873
+ 07113
874
+ 02566
875
+ 66261
876
+ ],
877
+ invalid: [
878
+ nil,
879
+ '',
880
+ 'invalid_zip',
881
+ '1234',
882
+ '12345-12345',
883
+ 'D0D0D0'
884
+ ]
885
+ },
886
+ KW: {
887
+ valid: %w[
888
+ 07113
889
+ 02566
890
+ 66261
891
+ ],
892
+ invalid: [
893
+ nil,
894
+ '',
895
+ 'invalid_zip',
896
+ '1234',
897
+ '12345-12345',
898
+ 'D0D0D0'
899
+ ]
900
+ },
901
+ LA: {
902
+ valid: %w[
903
+ 07113
904
+ 02566
905
+ 66261
906
+ ],
907
+ invalid: [
908
+ nil,
909
+ '',
910
+ 'invalid_zip',
911
+ '1234',
912
+ '12345-12345',
913
+ 'D0D0D0'
914
+ ]
915
+ },
916
+ LU: {
917
+ valid: [
918
+ 'L-5635',
919
+ 'L5635',
920
+ '5635'
921
+ ],
922
+ invalid: [
923
+ nil,
924
+ '',
925
+ 'invalid_zip',
926
+ '124',
927
+ '-1234'
928
+ ]
929
+ },
930
+ MK: {
931
+ valid: %w[
932
+ 7113
933
+ 2566
934
+ 6261
935
+ 7113
936
+ ],
937
+ invalid: [
938
+ nil,
939
+ '',
940
+ 'invalid_zip',
941
+ '12345',
942
+ '1234-1234',
943
+ 'D0D0D0'
944
+ ]
945
+ },
946
+ MY: {
947
+ valid: %w[
948
+ 07113
949
+ 02566
950
+ 66261
951
+ ],
952
+ invalid: [
953
+ nil,
954
+ '',
955
+ 'invalid_zip',
956
+ '1234',
957
+ '12345-12345',
958
+ 'D0D0D0'
959
+ ]
960
+ },
961
+ MV: {
962
+ valid: %w[
963
+ 07113
964
+ 02566
965
+ 66261
966
+ ],
967
+ invalid: [
968
+ nil,
969
+ '',
970
+ 'invalid_zip',
971
+ '1234',
972
+ '12345-12345',
973
+ 'D0D0D0'
974
+ ]
975
+ },
976
+ MT: {
977
+ valid: [
978
+ 'IDA 1234',
979
+ 'idA 1234',
980
+ 'idA1234'
981
+ ],
982
+ invalid: [
983
+ nil,
984
+ '',
985
+ 'invalid_zip',
986
+ 'nope',
987
+ 'MX92XP',
988
+ 'MX9 1234'
989
+ ]
990
+ },
991
+ MU: {
992
+ valid: %w[
993
+ 42602
994
+ A2101
995
+ r6414
996
+ ],
997
+ invalid: [
998
+ nil,
999
+ '',
1000
+ 'invalid_zip',
1001
+ '05678',
1002
+ 'B4242'
1003
+ ]
1004
+ },
1005
+ MX: {
1006
+ valid: %w[
1007
+ 07113
1008
+ 02566
1009
+ 66261
1010
+ ],
1011
+ invalid: [
1012
+ nil,
1013
+ '',
1014
+ 'invalid_zip',
1015
+ '1234',
1016
+ '12345-12345',
1017
+ 'D0D0D0'
1018
+ ]
1019
+ },
1020
+ MA: {
1021
+ valid: %w[
1022
+ 07113
1023
+ 02566
1024
+ 66261
1025
+ ],
1026
+ invalid: [
1027
+ nil,
1028
+ '',
1029
+ 'invalid_zip',
1030
+ '1234',
1031
+ '12345-12345',
1032
+ 'D0D0D0'
1033
+ ]
1034
+ },
1035
+ NZ: {
1036
+ valid: %w[
1037
+ 7113
1038
+ 2566
1039
+ 6261
1040
+ 7113
1041
+ ],
1042
+ invalid: [
1043
+ nil,
1044
+ '',
1045
+ 'invalid_zip',
1046
+ '12345',
1047
+ '1234-1234',
1048
+ 'D0D0D0'
1049
+ ]
1050
+ },
1051
+ NI: {
1052
+ valid: %w[
1053
+ 07113
1054
+ 02566
1055
+ 66261
1056
+ ],
1057
+ invalid: [
1058
+ nil,
1059
+ '',
1060
+ 'invalid_zip',
1061
+ '1234',
1062
+ '12345-12345',
1063
+ 'D0D0D0'
1064
+ ]
1065
+ },
1066
+ NG: {
1067
+ valid: %w[
1068
+ 071134
1069
+ 025663
1070
+ 662612
1071
+ 071135
1072
+ ],
1073
+ invalid: [
1074
+ nil,
1075
+ '',
1076
+ 'invalid_zip',
1077
+ '12345',
1078
+ '123456-123456',
1079
+ 'D0D0D0'
1080
+ ]
1081
+ },
1082
+ OM: {
1083
+ valid: [
1084
+ '123',
1085
+ 'PC 123',
1086
+ '847',
1087
+ 'PC 847'
1088
+ ],
1089
+ invalid: [
1090
+ nil,
1091
+ '',
1092
+ 'invalid_zip',
1093
+ '12',
1094
+ '1234',
1095
+ 'PC123'
1096
+ ]
1097
+ },
1098
+ PK: {
1099
+ valid: %w[
1100
+ 07113
1101
+ 02566
1102
+ 66261
1103
+ ],
1104
+ invalid: [
1105
+ nil,
1106
+ '',
1107
+ 'invalid_zip',
1108
+ '1234',
1109
+ '12345-12345',
1110
+ 'D0D0D0'
1111
+ ]
1112
+ },
1113
+ PY: {
1114
+ valid: %w[
1115
+ 7113
1116
+ 2566
1117
+ 6261
1118
+ 7113
1119
+ ],
1120
+ invalid: [
1121
+ nil,
1122
+ '',
1123
+ 'invalid_zip',
1124
+ '12345',
1125
+ '1234-1234',
1126
+ 'D0D0D0'
1127
+ ]
1128
+ },
1129
+ PH: {
1130
+ valid: %w[
1131
+ 7113
1132
+ 2566
1133
+ 6261
1134
+ 7113
1135
+ ],
1136
+ invalid: [
1137
+ nil,
1138
+ '',
1139
+ 'invalid_zip',
1140
+ '12345',
1141
+ '1234-1234',
1142
+ 'D0D0D0'
1143
+ ]
1144
+ },
1145
+ PL: {
1146
+ valid: [
1147
+ '12-345',
1148
+ '12 345',
1149
+ '12345',
1150
+ '54-321'
1151
+ ],
1152
+ invalid: [
1153
+ nil,
1154
+ '',
1155
+ 'invalid_zip',
1156
+ '1234',
1157
+ '123456',
1158
+ '123-45',
1159
+ '12-3456',
1160
+ '12-34'
1161
+ ]
1162
+ },
1163
+ PR: {
1164
+ valid: [
1165
+ '00731',
1166
+ '00690',
1167
+ '00690-4321',
1168
+ '00731-1234',
1169
+ '00731 1234'
1170
+ ],
1171
+ invalid: [
1172
+ nil,
1173
+ '',
1174
+ 'invalid_zip',
1175
+ '12345',
1176
+ '12345-1234',
1177
+ '12345 1234'
1178
+ ]
1179
+ },
1180
+ RO: {
1181
+ valid: %w[
1182
+ 071134
1183
+ 025663
1184
+ 662612
1185
+ 071135
1186
+ ],
1187
+ invalid: [
1188
+ nil,
1189
+ '',
1190
+ 'invalid_zip',
1191
+ '12345',
1192
+ '123456-123456',
1193
+ 'D0D0D0'
1194
+ ]
1195
+ },
1196
+ RU: {
1197
+ valid: %w[
1198
+ 071134
1199
+ 025663
1200
+ 662612
1201
+ 071135
1202
+ ],
1203
+ invalid: [
1204
+ nil,
1205
+ '',
1206
+ 'invalid_zip',
1207
+ '12345',
1208
+ '123456-123456',
1209
+ 'D0D0D0'
1210
+ ]
1211
+ },
1212
+ SM: {
1213
+ valid: %w[
1214
+ 47890
1215
+ 47895
1216
+ 47899
1217
+ ],
1218
+ invalid: [
1219
+ nil,
1220
+ '',
1221
+ 'invalid_zip',
1222
+ '12345'
1223
+ ]
1224
+ },
1225
+ SA: {
1226
+ valid: %w[
1227
+ 07113
1228
+ 02566
1229
+ 66261
1230
+ ],
1231
+ invalid: [
1232
+ nil,
1233
+ '',
1234
+ 'invalid_zip',
1235
+ '1234',
1236
+ '12345-12345',
1237
+ 'D0D0D0'
1238
+ ]
1239
+ },
1240
+ SN: {
1241
+ valid: %w[
1242
+ 07113
1243
+ 02566
1244
+ 66261
1245
+ ],
1246
+ invalid: [
1247
+ nil,
1248
+ '',
1249
+ 'invalid_zip',
1250
+ '1234',
1251
+ '12345-12345',
1252
+ 'D0D0D0'
1253
+ ]
1254
+ },
1255
+ SI: {
1256
+ valid: %w[
1257
+ 7113
1258
+ 2566
1259
+ 6261
1260
+ 7113
1261
+ ],
1262
+ invalid: [
1263
+ nil,
1264
+ '',
1265
+ 'invalid_zip',
1266
+ '12345',
1267
+ '1234-1234',
1268
+ 'D0D0D0'
1269
+ ]
1270
+ },
1271
+ ZA: {
1272
+ valid: %w[
1273
+ 7113
1274
+ 2566
1275
+ 6261
1276
+ 7113
1277
+ ],
1278
+ invalid: [
1279
+ nil,
1280
+ '',
1281
+ 'invalid_zip',
1282
+ '12345',
1283
+ '1234-1234',
1284
+ 'D0D0D0'
1285
+ ]
1286
+ },
1287
+ LK: {
1288
+ valid: %w[
1289
+ 07113
1290
+ 02566
1291
+ 66261
1292
+ ],
1293
+ invalid: [
1294
+ nil,
1295
+ '',
1296
+ 'invalid_zip',
1297
+ '1234',
1298
+ '12345-12345',
1299
+ 'D0D0D0'
1300
+ ]
1301
+ },
1302
+ TJ: {
1303
+ valid: %w[
1304
+ 071134
1305
+ 025663
1306
+ 662612
1307
+ 071135
1308
+ ],
1309
+ invalid: [
1310
+ nil,
1311
+ '',
1312
+ 'invalid_zip',
1313
+ '12345',
1314
+ '123456-123456',
1315
+ 'D0D0D0'
1316
+ ]
1317
+ },
1318
+ TH: {
1319
+ valid: %w[
1320
+ 07113
1321
+ 02566
1322
+ 66261
1323
+ ],
1324
+ invalid: [
1325
+ nil,
1326
+ '',
1327
+ 'invalid_zip',
1328
+ '1234',
1329
+ '12345-12345',
1330
+ 'D0D0D0'
1331
+ ]
1332
+ },
1333
+ TN: {
1334
+ valid: %w[
1335
+ 7113
1336
+ 2566
1337
+ 6261
1338
+ 7113
1339
+ ],
1340
+ invalid: [
1341
+ nil,
1342
+ '',
1343
+ 'invalid_zip',
1344
+ '12345',
1345
+ '1234-1234',
1346
+ 'D0D0D0'
1347
+ ]
1348
+ },
1349
+ TR: {
1350
+ valid: %w[
1351
+ 07113
1352
+ 02566
1353
+ 66261
1354
+ ],
1355
+ invalid: [
1356
+ nil,
1357
+ '',
1358
+ 'invalid_zip',
1359
+ '1234',
1360
+ '12345-12345',
1361
+ 'D0D0D0'
1362
+ ]
1363
+ },
1364
+ TM: {
1365
+ valid: %w[
1366
+ 071134
1367
+ 025663
1368
+ 662612
1369
+ 071135
1370
+ ],
1371
+ invalid: [
1372
+ nil,
1373
+ '',
1374
+ 'invalid_zip',
1375
+ '12345',
1376
+ '123456-123456',
1377
+ 'D0D0D0'
1378
+ ]
1379
+ },
1380
+ UA: {
1381
+ valid: %w[
1382
+ 07113
1383
+ 02566
1384
+ 66261
1385
+ ],
1386
+ invalid: [
1387
+ nil,
1388
+ '',
1389
+ 'invalid_zip',
1390
+ '1234',
1391
+ '12345-12345',
1392
+ 'D0D0D0'
1393
+ ]
1394
+ },
1395
+ UZ: {
1396
+ valid: %w[
1397
+ 071134
1398
+ 025663
1399
+ 662612
1400
+ 071135
1401
+ ],
1402
+ invalid: [
1403
+ nil,
1404
+ '',
1405
+ 'invalid_zip',
1406
+ '12345',
1407
+ '123456-123456',
1408
+ 'D0D0D0'
1409
+ ]
1410
+ },
1411
+ VA: {
1412
+ valid: %w[
1413
+ 00120
1414
+ ],
1415
+ invalid: [
1416
+ nil,
1417
+ '',
1418
+ 'invalid_zip',
1419
+ '12345'
1420
+ ]
1421
+ },
1422
+ VE: {
1423
+ valid: %w[
1424
+ 7113
1425
+ 2566
1426
+ 6261
1427
+ 7113
1428
+ ],
1429
+ invalid: [
1430
+ nil,
1431
+ '',
1432
+ 'invalid_zip',
1433
+ '12345',
1434
+ '1234-1234',
1435
+ 'D0D0D0'
1436
+ ]
1437
+ },
1438
+ ZM: {
1439
+ valid: %w[
1440
+ 07113
1441
+ 02566
1442
+ 66261
1443
+ ],
1444
+ invalid: [
1445
+ nil,
1446
+ '',
1447
+ 'invalid_zip',
1448
+ '1234',
1449
+ '12345-12345',
1450
+ 'D0D0D0'
1451
+ ]
1452
+ },
1453
+ AS: {
1454
+ valid: %w[
1455
+ 96799
1456
+ ],
1457
+ invalid: [
1458
+ nil,
1459
+ '',
1460
+ 'invalid_zip',
1461
+ '1234'
1462
+ ]
1463
+ },
1464
+ CC: {
1465
+ valid: %w[
1466
+ 6799
1467
+ ],
1468
+ invalid: [
1469
+ nil,
1470
+ '',
1471
+ 'invalid_zip',
1472
+ '1234'
1473
+ ]
1474
+ },
1475
+ CK: {
1476
+ valid: %w[
1477
+ 7113
1478
+ 2566
1479
+ 6261
1480
+ 7113
1481
+ ],
1482
+ invalid: [
1483
+ nil,
1484
+ '',
1485
+ 'invalid_zip',
1486
+ '12345',
1487
+ '1234-1234',
1488
+ 'D0D0D0'
1489
+ ]
1490
+ },
1491
+ RS: {
1492
+ valid: %w[
1493
+ 07113
1494
+ 02566
1495
+ 66261
1496
+ ],
1497
+ invalid: [
1498
+ nil,
1499
+ '',
1500
+ 'invalid_zip',
1501
+ '1234',
1502
+ '12345-12345',
1503
+ 'D0D0D0'
1504
+ ]
1505
+ },
1506
+ CS: {
1507
+ valid: %w[
1508
+ 07113
1509
+ 02566
1510
+ 66261
1511
+ ],
1512
+ invalid: [
1513
+ nil,
1514
+ '',
1515
+ 'invalid_zip',
1516
+ '1234',
1517
+ '12345-12345',
1518
+ 'D0D0D0'
1519
+ ]
1520
+ },
1521
+ YU: {
1522
+ valid: %w[
1523
+ 07113
1524
+ 02566
1525
+ 66261
1526
+ ],
1527
+ invalid: [
1528
+ nil,
1529
+ '',
1530
+ 'invalid_zip',
1531
+ '1234',
1532
+ '12345-12345',
1533
+ 'D0D0D0'
1534
+ ]
1535
+ },
1536
+ CX: {
1537
+ valid: %w[
1538
+ 6798
1539
+ ],
1540
+ invalid: [
1541
+ nil,
1542
+ '',
1543
+ 'invalid_zip',
1544
+ '1234'
1545
+ ]
1546
+ },
1547
+ ET: {
1548
+ valid: %w[
1549
+ 7113
1550
+ 2566
1551
+ 6261
1552
+ 7113
1553
+ ],
1554
+ invalid: [
1555
+ nil,
1556
+ '',
1557
+ 'invalid_zip',
1558
+ '12345',
1559
+ '1234-1234',
1560
+ 'D0D0D0'
1561
+ ]
1562
+ },
1563
+ FK: {
1564
+ valid: [
1565
+ 'FIQQ 1ZZ',
1566
+ 'FIQQ1ZZ'
1567
+ ],
1568
+ invalid: [
1569
+ nil,
1570
+ '',
1571
+ 'invalid_zip',
1572
+ 'XY1 5SJ'
1573
+ ]
1574
+ },
1575
+ NF: {
1576
+ valid: %w[
1577
+ 2899
1578
+ ],
1579
+ invalid: [
1580
+ nil,
1581
+ '',
1582
+ 'invalid_zip',
1583
+ '1234'
1584
+ ]
1585
+ },
1586
+ FM: {
1587
+ valid: [
1588
+ '96942',
1589
+ '96942-1234',
1590
+ '96942 1234'
1591
+ ],
1592
+ invalid: [
1593
+ nil,
1594
+ '',
1595
+ 'invalid_zip',
1596
+ '12345'
1597
+ ]
1598
+ },
1599
+ GF: {
1600
+ valid: %w[
1601
+ 97321
1602
+ 97347
1603
+ ],
1604
+ invalid: [
1605
+ nil,
1606
+ '',
1607
+ 'invalid_zip',
1608
+ '12345'
1609
+ ]
1610
+ },
1611
+ GP: {
1612
+ valid: %w[
1613
+ 97139
1614
+ 97160
1615
+ ],
1616
+ invalid: [
1617
+ nil,
1618
+ '',
1619
+ 'invalid_zip',
1620
+ '12345'
1621
+ ]
1622
+ },
1623
+ GS: {
1624
+ valid: [
1625
+ 'SIQQ 1ZZ',
1626
+ 'SIQQ1ZZ'
1627
+ ],
1628
+ invalid: [
1629
+ nil,
1630
+ '',
1631
+ 'invalid_zip',
1632
+ 'XY1 5SJ'
1633
+ ]
1634
+ },
1635
+ GU: {
1636
+ valid: [
1637
+ '96910',
1638
+ '96916',
1639
+ '96920',
1640
+ '96929',
1641
+ '96932',
1642
+ '96920-1234',
1643
+ '96920 1234'
1644
+ ],
1645
+ invalid: [
1646
+ nil,
1647
+ '',
1648
+ 'invalid_zip',
1649
+ '96940',
1650
+ '96942'
1651
+ ]
1652
+ },
1653
+ GW: {
1654
+ valid: %w[
1655
+ 7113
1656
+ 2566
1657
+ 6261
1658
+ 7113
1659
+ ],
1660
+ invalid: [
1661
+ nil,
1662
+ '',
1663
+ 'invalid_zip',
1664
+ '12345',
1665
+ '1234-1234',
1666
+ 'D0D0D0'
1667
+ ]
1668
+ },
1669
+ HM: {
1670
+ valid: %w[
1671
+ 7113
1672
+ 2566
1673
+ 6261
1674
+ 7113
1675
+ ],
1676
+ invalid: [
1677
+ nil,
1678
+ '',
1679
+ 'invalid_zip',
1680
+ '12345',
1681
+ '1234-1234',
1682
+ 'D0D0D0'
1683
+ ]
1684
+ },
1685
+ IQ: {
1686
+ valid: %w[
1687
+ 07113
1688
+ 02566
1689
+ 66261
1690
+ ],
1691
+ invalid: [
1692
+ nil,
1693
+ '',
1694
+ 'invalid_zip',
1695
+ '1234',
1696
+ '12345-12345',
1697
+ 'D0D0D0'
1698
+ ]
1699
+ },
1700
+ KG: {
1701
+ valid: %w[
1702
+ 071134
1703
+ 025663
1704
+ 662612
1705
+ 071135
1706
+ ],
1707
+ invalid: [
1708
+ nil,
1709
+ '',
1710
+ 'invalid_zip',
1711
+ '12345',
1712
+ '123456-123456',
1713
+ 'D0D0D0'
1714
+ ]
1715
+ },
1716
+ LR: {
1717
+ valid: %w[
1718
+ 7113
1719
+ 2566
1720
+ 6261
1721
+ 7113
1722
+ ],
1723
+ invalid: [
1724
+ nil,
1725
+ '',
1726
+ 'invalid_zip',
1727
+ '12345',
1728
+ '1234-1234',
1729
+ 'D0D0D0'
1730
+ ]
1731
+ },
1732
+ LS: {
1733
+ valid: %w[
1734
+ 711
1735
+ 256
1736
+ 626
1737
+ 711
1738
+ ],
1739
+ invalid: [
1740
+ nil,
1741
+ '',
1742
+ 'invalid_zip',
1743
+ '1234',
1744
+ '123-123',
1745
+ 'D0D0D0'
1746
+ ]
1747
+ },
1748
+ MG: {
1749
+ valid: %w[
1750
+ 711
1751
+ 256
1752
+ 626
1753
+ 711
1754
+ ],
1755
+ invalid: [
1756
+ nil,
1757
+ '',
1758
+ 'invalid_zip',
1759
+ '1234',
1760
+ '123-123',
1761
+ 'D0D0D0'
1762
+ ]
1763
+ },
1764
+ MN: {
1765
+ valid: %w[
1766
+ 12345
1767
+ 41183
1768
+ 64091
1769
+ 83033
1770
+ 12345-6789
1771
+ 41183-2395
1772
+ ],
1773
+ invalid: [
1774
+ nil,
1775
+ '',
1776
+ 'invalid_zip',
1777
+ '123456',
1778
+ '123456-123456',
1779
+ 'D0D0D0'
1780
+ ]
1781
+ },
1782
+ MP: {
1783
+ valid: [
1784
+ '96950',
1785
+ '96951',
1786
+ '96952',
1787
+ '96952-1234',
1788
+ '96952 1234'
1789
+ ],
1790
+ invalid: [
1791
+ nil,
1792
+ '',
1793
+ 'invalid_zip',
1794
+ '96959',
1795
+ '96952-12345'
1796
+ ]
1797
+ },
1798
+ MQ: {
1799
+ valid: %w[
1800
+ 97216
1801
+ ],
1802
+ invalid: [
1803
+ nil,
1804
+ '',
1805
+ 'invalid_zip',
1806
+ '12345'
1807
+ ]
1808
+ },
1809
+ NC: {
1810
+ valid: %w[
1811
+ 98814
1812
+ ],
1813
+ invalid: [
1814
+ nil,
1815
+ '',
1816
+ 'invalid_zip',
1817
+ '12345'
1818
+ ]
1819
+ },
1820
+ NE: {
1821
+ valid: %w[
1822
+ 7113
1823
+ 2566
1824
+ 6261
1825
+ 7113
1826
+ ],
1827
+ invalid: [
1828
+ nil,
1829
+ '',
1830
+ 'invalid_zip',
1831
+ '12345',
1832
+ '1234-1234',
1833
+ 'D0D0D0'
1834
+ ]
1835
+ },
1836
+ PF: {
1837
+ valid: %w[
1838
+ 98730
1839
+ 98733
1840
+ ],
1841
+ invalid: [
1842
+ nil,
1843
+ '',
1844
+ 'invalid_zip',
1845
+ '12345'
1846
+ ]
1847
+ },
1848
+ PG: {
1849
+ valid: %w[
1850
+ 711
1851
+ 256
1852
+ 626
1853
+ 711
1854
+ ],
1855
+ invalid: [
1856
+ nil,
1857
+ '',
1858
+ 'invalid_zip',
1859
+ '1234',
1860
+ '123-123',
1861
+ 'D0D0D0'
1862
+ ]
1863
+ },
1864
+ PM: {
1865
+ valid: %w[
1866
+ 97500
1867
+ 97502
1868
+ ],
1869
+ invalid: [
1870
+ nil,
1871
+ '',
1872
+ 'invalid_zip',
1873
+ '12345'
1874
+ ]
1875
+ },
1876
+ PN: {
1877
+ valid: [
1878
+ 'PCRN 1ZZ',
1879
+ 'PCRN1ZZ'
1880
+ ],
1881
+ invalid: [
1882
+ nil,
1883
+ '',
1884
+ 'invalid_zip',
1885
+ 'XY1 5SJ'
1886
+ ]
1887
+ },
1888
+ PW: {
1889
+ valid: %w[
1890
+ 96940
1891
+ ],
1892
+ invalid: [
1893
+ nil,
1894
+ '',
1895
+ 'invalid_zip',
1896
+ '12345'
1897
+ ]
1898
+ },
1899
+ RE: {
1900
+ valid: %w[
1901
+ 97419
1902
+ 97400
1903
+ ],
1904
+ invalid: [
1905
+ nil,
1906
+ '',
1907
+ 'invalid_zip',
1908
+ '97764',
1909
+ '97885',
1910
+ '97119',
1911
+ '98419'
1912
+ ]
1913
+ },
1914
+ SH: {
1915
+ valid: [
1916
+ 'ASCN 1ZZ',
1917
+ 'ASCN1ZZ',
1918
+ 'STHL 1ZZ',
1919
+ 'STHL1ZZ',
1920
+ 'TDCU 1ZZ',
1921
+ 'TDCU1ZZ'
1922
+ ],
1923
+ invalid: [
1924
+ nil,
1925
+ '',
1926
+ 'invalid_zip',
1927
+ 'XY1 5SJ'
1928
+ ]
1929
+ },
1930
+ SJ: {
1931
+ valid: %w[
1932
+ 7113
1933
+ 2566
1934
+ 6261
1935
+ 7113
1936
+ ],
1937
+ invalid: [
1938
+ nil,
1939
+ '',
1940
+ 'invalid_zip',
1941
+ '12345',
1942
+ '1234-1234',
1943
+ 'D0D0D0'
1944
+ ]
1945
+ },
1946
+ SZ: {
1947
+ valid: %w[
1948
+ H113
1949
+ L566
1950
+ M261
1951
+ S261
1952
+ ],
1953
+ invalid: [
1954
+ nil,
1955
+ '',
1956
+ 'invalid_zip',
1957
+ 'HM113',
1958
+ 'L34',
1959
+ 'H113-H113',
1960
+ 'D0D0D0'
1961
+ ]
1962
+ },
1963
+ TC: {
1964
+ valid: [
1965
+ 'TKCA 1ZZ',
1966
+ 'TKCA1ZZ'
1967
+ ],
1968
+ invalid: [
1969
+ nil,
1970
+ '',
1971
+ 'invalid_zip',
1972
+ 'XY1 5SJ'
1973
+ ]
1974
+ },
1975
+ WF: {
1976
+ valid: %w[
1977
+ 98613
1978
+ 98666
1979
+ 98661
1980
+ ],
1981
+ invalid: [
1982
+ nil,
1983
+ '',
1984
+ 'invalid_zip',
1985
+ '1234',
1986
+ '98666-98666',
1987
+ '12345',
1988
+ 'D0D0D0'
1989
+ ]
1990
+ },
1991
+ XK: {
1992
+ valid: %w[
1993
+ 07113
1994
+ 02566
1995
+ 66261
1996
+ ],
1997
+ invalid: [
1998
+ nil,
1999
+ '',
2000
+ 'invalid_zip',
2001
+ '1234',
2002
+ '12345-12345',
2003
+ 'D0D0D0'
2004
+ ]
2005
+ },
2006
+ YT: {
2007
+ valid: %w[
2008
+ 97613
2009
+ 97666
2010
+ 97661
2011
+ ],
2012
+ invalid: [
2013
+ nil,
2014
+ '',
2015
+ 'invalid_zip',
2016
+ '1234',
2017
+ '97666-97666',
2018
+ '12345',
2019
+ 'D0D0D0'
2020
+ ]
2021
+ },
2022
+ AF: {
2023
+ valid: %w[
2024
+ 7113
2025
+ 2566
2026
+ 6261
2027
+ 7113
2028
+ ],
2029
+ invalid: [
2030
+ nil,
2031
+ '',
2032
+ 'invalid_zip',
2033
+ '12345',
2034
+ '1234-1234',
2035
+ 'D0D0D0'
2036
+ ]
2037
+ },
2038
+ AL: {
2039
+ valid: %w[
2040
+ 7113
2041
+ 2566
2042
+ 6261
2043
+ 7113
2044
+ ],
2045
+ invalid: [
2046
+ nil,
2047
+ '',
2048
+ 'invalid_zip',
2049
+ '12345',
2050
+ '1234-1234',
2051
+ 'D0D0D0'
2052
+ ]
2053
+ },
2054
+ AG: {
2055
+ valid: %w[
2056
+ 42511
2057
+ AZ42511
2058
+ XY12Z
2059
+ A12
2060
+ 123
2061
+ ABC
2062
+ ],
2063
+ invalid: [
2064
+ nil,
2065
+ '',
2066
+ 'invalid_zip',
2067
+ 'AB',
2068
+ '12'
2069
+ ]
2070
+ },
2071
+ AO: {
2072
+ valid: %w[
2073
+ 42511
2074
+ AZ42511
2075
+ XY12Z
2076
+ A12
2077
+ 123
2078
+ ABC
2079
+ ],
2080
+ invalid: [
2081
+ nil,
2082
+ '',
2083
+ 'invalid_zip',
2084
+ 'AB',
2085
+ '12'
2086
+ ]
2087
+ },
2088
+ BF: {
2089
+ valid: %w[
2090
+ 42511
2091
+ AZ42511
2092
+ XY12Z
2093
+ A12
2094
+ 123
2095
+ ABC
2096
+ ],
2097
+ invalid: [
2098
+ nil,
2099
+ '',
2100
+ 'invalid_zip',
2101
+ 'AB',
2102
+ '12'
2103
+ ]
2104
+ },
2105
+ BI: {
2106
+ valid: %w[
2107
+ 42511
2108
+ AZ42511
2109
+ XY12Z
2110
+ A12
2111
+ 123
2112
+ ABC
2113
+ ],
2114
+ invalid: [
2115
+ nil,
2116
+ '',
2117
+ 'invalid_zip',
2118
+ 'AB',
2119
+ '12'
2120
+ ]
2121
+ },
2122
+ BS: {
2123
+ valid: %w[
2124
+ 42511
2125
+ AZ42511
2126
+ XY12Z
2127
+ A12
2128
+ 123
2129
+ ABC
2130
+ ],
2131
+ invalid: [
2132
+ nil,
2133
+ '',
2134
+ 'invalid_zip',
2135
+ 'AB',
2136
+ '12'
2137
+ ]
2138
+ },
2139
+ BZ: {
2140
+ valid: %w[
2141
+ 42511
2142
+ AZ42511
2143
+ XY12Z
2144
+ A12
2145
+ 123
2146
+ ABC
2147
+ ],
2148
+ invalid: [
2149
+ nil,
2150
+ '',
2151
+ 'invalid_zip',
2152
+ 'AB',
2153
+ '12'
2154
+ ]
2155
+ },
2156
+ BR: {
2157
+ valid: [
2158
+ '58397-000',
2159
+ '58915-000',
2160
+ '58763000',
2161
+ '58935-000',
2162
+ '12345678'
2163
+ ],
2164
+ invalid: [
2165
+ nil,
2166
+ '',
2167
+ 'invalid_zip',
2168
+ '1234',
2169
+ '123456789'
2170
+ ]
2171
+ },
2172
+ BJ: {
2173
+ valid: %w[
2174
+ 42511
2175
+ AZ42511
2176
+ XY12Z
2177
+ A12
2178
+ 123
2179
+ ABC
2180
+ ],
2181
+ invalid: [
2182
+ nil,
2183
+ '',
2184
+ 'invalid_zip',
2185
+ 'AB',
2186
+ '12'
2187
+ ]
2188
+ },
2189
+ BT: {
2190
+ valid: %w[
2191
+ 07113
2192
+ 02566
2193
+ 66261
2194
+ ],
2195
+ invalid: [
2196
+ nil,
2197
+ '',
2198
+ 'invalid_zip',
2199
+ '1234',
2200
+ '12345-12345',
2201
+ 'D0D0D0'
2202
+ ]
2203
+ },
2204
+ BQ: {
2205
+ valid: %w[
2206
+ 42511
2207
+ AZ42511
2208
+ XY12Z
2209
+ A12
2210
+ 123
2211
+ ABC
2212
+ ],
2213
+ invalid: [
2214
+ nil,
2215
+ '',
2216
+ 'invalid_zip',
2217
+ 'AB',
2218
+ '12'
2219
+ ]
2220
+ },
2221
+ BO: {
2222
+ valid: %w[
2223
+ 7113
2224
+ 2566
2225
+ 6261
2226
+ 7113
2227
+ ],
2228
+ invalid: [
2229
+ nil,
2230
+ '',
2231
+ 'invalid_zip',
2232
+ '12345',
2233
+ '1234-1234',
2234
+ 'D0D0D0'
2235
+ ]
2236
+ },
2237
+ BW: {
2238
+ valid: %w[
2239
+ 42511
2240
+ AZ42511
2241
+ XY12Z
2242
+ A12
2243
+ 123
2244
+ ABC
2245
+ ],
2246
+ invalid: [
2247
+ nil,
2248
+ '',
2249
+ 'invalid_zip',
2250
+ 'AB',
2251
+ '12'
2252
+ ]
2253
+ },
2254
+ CF: {
2255
+ valid: %w[
2256
+ 42511
2257
+ AZ42511
2258
+ XY12Z
2259
+ A12
2260
+ 123
2261
+ ABC
2262
+ ],
2263
+ invalid: [
2264
+ nil,
2265
+ '',
2266
+ 'invalid_zip',
2267
+ 'AB',
2268
+ '12'
2269
+ ]
2270
+ },
2271
+ CG: {
2272
+ valid: %w[
2273
+ 42511
2274
+ AZ42511
2275
+ XY12Z
2276
+ A12
2277
+ 123
2278
+ ABC
2279
+ ],
2280
+ invalid: [
2281
+ nil,
2282
+ '',
2283
+ 'invalid_zip',
2284
+ 'AB',
2285
+ '12'
2286
+ ]
2287
+ },
2288
+ CI: {
2289
+ valid: %w[
2290
+ 42511
2291
+ AZ42511
2292
+ XY12Z
2293
+ A12
2294
+ 123
2295
+ ABC
2296
+ ],
2297
+ invalid: [
2298
+ nil,
2299
+ '',
2300
+ 'invalid_zip',
2301
+ 'AB',
2302
+ '12'
2303
+ ]
2304
+ },
2305
+ CO: {
2306
+ valid: %w[
2307
+ 42511
2308
+ AZ42511
2309
+ XY12Z
2310
+ A12
2311
+ 123
2312
+ ABC
2313
+ ],
2314
+ invalid: [
2315
+ nil,
2316
+ '',
2317
+ 'invalid_zip',
2318
+ 'AB',
2319
+ '12'
2320
+ ]
2321
+ },
2322
+ CR: {
2323
+ valid: %w[
2324
+ 07113
2325
+ 02566
2326
+ 66261
2327
+ ],
2328
+ invalid: [
2329
+ nil,
2330
+ '',
2331
+ 'invalid_zip',
2332
+ '1234',
2333
+ '12345-12345',
2334
+ 'D0D0D0'
2335
+ ]
2336
+ },
2337
+ CU: {
2338
+ valid: %w[
2339
+ 07113
2340
+ 02566
2341
+ 66261
2342
+ ],
2343
+ invalid: [
2344
+ nil,
2345
+ '',
2346
+ 'invalid_zip',
2347
+ '1234',
2348
+ '12345-12345',
2349
+ 'D0D0D0'
2350
+ ]
2351
+ },
2352
+ KM: {
2353
+ valid: %w[
2354
+ 42511
2355
+ AZ42511
2356
+ XY12Z
2357
+ A12
2358
+ 123
2359
+ ABC
2360
+ ],
2361
+ invalid: [
2362
+ nil,
2363
+ '',
2364
+ 'invalid_zip',
2365
+ 'AB',
2366
+ '12'
2367
+ ]
2368
+ },
2369
+ DJ: {
2370
+ valid: %w[
2371
+ 42511
2372
+ AZ42511
2373
+ XY12Z
2374
+ A12
2375
+ 123
2376
+ ABC
2377
+ ],
2378
+ invalid: [
2379
+ nil,
2380
+ '',
2381
+ 'invalid_zip',
2382
+ 'AB',
2383
+ '12'
2384
+ ]
2385
+ },
2386
+ DM: {
2387
+ valid: %w[
2388
+ 42511
2389
+ AZ42511
2390
+ XY12Z
2391
+ A12
2392
+ 123
2393
+ ABC
2394
+ ],
2395
+ invalid: [
2396
+ nil,
2397
+ '',
2398
+ 'invalid_zip',
2399
+ 'AB',
2400
+ '12'
2401
+ ]
2402
+ },
2403
+ EG: {
2404
+ valid: %w[
2405
+ 42511
2406
+ AZ42511
2407
+ XY12Z
2408
+ A12
2409
+ 123
2410
+ ABC
2411
+ ],
2412
+ invalid: [
2413
+ nil,
2414
+ '',
2415
+ 'invalid_zip',
2416
+ 'AB',
2417
+ '12'
2418
+ ]
2419
+ },
2420
+ GQ: {
2421
+ valid: %w[
2422
+ 42511
2423
+ AZ42511
2424
+ XY12Z
2425
+ A12
2426
+ 123
2427
+ ABC
2428
+ ],
2429
+ invalid: [
2430
+ nil,
2431
+ '',
2432
+ 'invalid_zip',
2433
+ 'AB',
2434
+ '12'
2435
+ ]
2436
+ },
2437
+ EL: {
2438
+ valid: %w[
2439
+ 07113
2440
+ 02566
2441
+ 66261
2442
+ ],
2443
+ invalid: [
2444
+ nil,
2445
+ '',
2446
+ 'invalid_zip',
2447
+ '1234',
2448
+ '12345-12345',
2449
+ 'D0D0D0'
2450
+ ]
2451
+ },
2452
+ ER: {
2453
+ valid: %w[
2454
+ 42511
2455
+ AZ42511
2456
+ XY12Z
2457
+ A12
2458
+ 123
2459
+ ABC
2460
+ ],
2461
+ invalid: [
2462
+ nil,
2463
+ '',
2464
+ 'invalid_zip',
2465
+ 'AB',
2466
+ '12'
2467
+ ]
2468
+ },
2469
+ FJ: {
2470
+ valid: %w[
2471
+ 42511
2472
+ AZ42511
2473
+ XY12Z
2474
+ A12
2475
+ 123
2476
+ ABC
2477
+ ],
2478
+ invalid: [
2479
+ nil,
2480
+ '',
2481
+ 'invalid_zip',
2482
+ 'AB',
2483
+ '12'
2484
+ ]
2485
+ },
2486
+ FR: {
2487
+ valid: %w[
2488
+ 07113
2489
+ 02566
2490
+ 66261
2491
+ ],
2492
+ invalid: [
2493
+ nil,
2494
+ '',
2495
+ 'invalid_zip',
2496
+ '1234',
2497
+ '12345-12345',
2498
+ 'D0D0D0'
2499
+ ]
2500
+ },
2501
+ GA: {
2502
+ valid: %w[
2503
+ 7113
2504
+ 2566
2505
+ 6261
2506
+ 7113
2507
+ ],
2508
+ invalid: [
2509
+ nil,
2510
+ '',
2511
+ 'invalid_zip',
2512
+ '12345',
2513
+ '1234-1234',
2514
+ 'D0D0D0'
2515
+ ]
2516
+ },
2517
+ GD: {
2518
+ valid: %w[
2519
+ 42511
2520
+ AZ42511
2521
+ XY12Z
2522
+ A12
2523
+ 123
2524
+ ABC
2525
+ ],
2526
+ invalid: [
2527
+ nil,
2528
+ '',
2529
+ 'invalid_zip',
2530
+ 'AB',
2531
+ '12'
2532
+ ]
2533
+ },
2534
+ GH: {
2535
+ valid: %w[
2536
+ 42511
2537
+ AZ42511
2538
+ XY12Z
2539
+ A12
2540
+ 123
2541
+ ABC
2542
+ ],
2543
+ invalid: [
2544
+ nil,
2545
+ '',
2546
+ 'invalid_zip',
2547
+ 'AB',
2548
+ '12'
2549
+ ]
2550
+ },
2551
+ GM: {
2552
+ valid: %w[
2553
+ 42511
2554
+ AZ42511
2555
+ XY12Z
2556
+ A12
2557
+ 123
2558
+ ABC
2559
+ ],
2560
+ invalid: [
2561
+ nil,
2562
+ '',
2563
+ 'invalid_zip',
2564
+ 'AB',
2565
+ '12'
2566
+ ]
2567
+ },
2568
+ GN: {
2569
+ valid: %w[
2570
+ 42511
2571
+ AZ42511
2572
+ XY12Z
2573
+ A12
2574
+ 123
2575
+ ABC
2576
+ ],
2577
+ invalid: [
2578
+ nil,
2579
+ '',
2580
+ 'invalid_zip',
2581
+ 'AB',
2582
+ '12'
2583
+ ]
2584
+ },
2585
+ GI: {
2586
+ valid: [
2587
+ 'GX11 1AA',
2588
+ 'GX111AA'
2589
+ ],
2590
+ invalid: [
2591
+ nil,
2592
+ '',
2593
+ 'invalid_zip',
2594
+ 'XY1 5SJ'
2595
+ ]
2596
+ },
2597
+ GR: {
2598
+ valid: [
2599
+ '048 80',
2600
+ '50039',
2601
+ '67183'
2602
+ ],
2603
+ invalid: [
2604
+ nil,
2605
+ '',
2606
+ 'invalid_zip',
2607
+ '123456'
2608
+ ]
2609
+ },
2610
+ GY: {
2611
+ valid: %w[
2612
+ 42511
2613
+ AZ42511
2614
+ XY12Z
2615
+ A12
2616
+ 123
2617
+ ABC
2618
+ ],
2619
+ invalid: [
2620
+ nil,
2621
+ '',
2622
+ 'invalid_zip',
2623
+ 'AB',
2624
+ '12'
2625
+ ]
2626
+ },
2627
+ HN: {
2628
+ valid: %w[
2629
+ BV2722
2630
+ XY1234
2631
+ ],
2632
+ invalid: [
2633
+ nil,
2634
+ '',
2635
+ 'invalid_zip',
2636
+ 'B2722',
2637
+ 'XY12345',
2638
+ 'XY123'
2639
+ ]
2640
+ },
2641
+ IO: {
2642
+ valid: %w[
2643
+ 07113
2644
+ 02566
2645
+ 66261
2646
+ ],
2647
+ invalid: [
2648
+ nil,
2649
+ '',
2650
+ 'invalid_zip',
2651
+ '1234',
2652
+ '12345-12345',
2653
+ 'D0D0D0'
2654
+ ]
2655
+ },
2656
+ IR: {
2657
+ valid: %w[
2658
+ 07113
2659
+ 02566
2660
+ 66261
2661
+ ],
2662
+ invalid: [
2663
+ nil,
2664
+ '',
2665
+ 'invalid_zip',
2666
+ '1234',
2667
+ '12345-12345',
2668
+ 'D0D0D0'
2669
+ ]
2670
+ },
2671
+ JP: {
2672
+ valid: [
2673
+ '1029200',
2674
+ '102-9200',
2675
+ '408-0301',
2676
+ '207-1000'
2677
+ ],
2678
+ invalid: [
2679
+ nil,
2680
+ '',
2681
+ 'invalid_zip',
2682
+ '1200'
2683
+ ]
2684
+ },
2685
+ JM: {
2686
+ valid: [
2687
+ nil,
2688
+ '',
2689
+ '00',
2690
+ 'JMDEH01',
2691
+ 'JMCJS10',
2692
+ 'JMDWD08',
2693
+ 'JMCAN20',
2694
+ 'JMDCN29'
2695
+ ],
2696
+ invalid: %w[
2697
+ invalid_zip
2698
+ JMDEH00
2699
+ JMDWD30
2700
+ JMDWD31
2701
+ JMDCN91
2702
+ JMXYZ05
2703
+ ]
2704
+ },
2705
+ KI: {
2706
+ valid: %w[
2707
+ KI0111
2708
+ KI0222
2709
+ KI0333
2710
+ ],
2711
+ invalid: [
2712
+ nil,
2713
+ '',
2714
+ 'KI0000',
2715
+ 'KI0444',
2716
+ 'KI2181',
2717
+ 'KI6376',
2718
+ 'KI4702',
2719
+ 'invalid_zip',
2720
+ 'KI281',
2721
+ 'KI63726',
2722
+ 'IK4702'
2723
+ ]
2724
+ },
2725
+ KN: {
2726
+ valid: %w[
2727
+ KN2181
2728
+ KN6376
2729
+ KN4702
2730
+ ],
2731
+ invalid: [
2732
+ nil,
2733
+ '',
2734
+ 'invalid_zip',
2735
+ 'KN281',
2736
+ 'KN63726',
2737
+ 'NK4702'
2738
+ ]
2739
+ },
2740
+ KP: {
2741
+ valid: %w[
2742
+ 123
2743
+ ABC
2744
+ 12345678
2745
+ 123sd678
2746
+ ],
2747
+ invalid: [
2748
+ nil,
2749
+ '',
2750
+ 'invalid_zip',
2751
+ '12',
2752
+ 'AB',
2753
+ '123456789',
2754
+ '12f3sd678'
2755
+ ]
2756
+ },
2757
+ LI: {
2758
+ valid: %w[
2759
+ 7113
2760
+ 2566
2761
+ 6261
2762
+ 7113
2763
+ ],
2764
+ invalid: [
2765
+ nil,
2766
+ '',
2767
+ 'invalid_zip',
2768
+ '12345',
2769
+ '1234-1234',
2770
+ 'D0D0D0'
2771
+ ]
2772
+ },
2773
+ LV: {
2774
+ valid: [
2775
+ 'LV-1234',
2776
+ 'LV-8735',
2777
+ '8735'
2778
+ ],
2779
+ invalid: [
2780
+ nil,
2781
+ '',
2782
+ 'invalid_zip',
2783
+ 'LV-12345',
2784
+ 'LV-123',
2785
+ 'L-1234',
2786
+ '123'
2787
+ ]
2788
+ },
2789
+ LY: {
2790
+ valid: %w[
2791
+ 07113
2792
+ 02566
2793
+ 66261
2794
+ ],
2795
+ invalid: [
2796
+ nil,
2797
+ '',
2798
+ 'invalid_zip',
2799
+ '1234',
2800
+ '12345-12345',
2801
+ 'D0D0D0'
2802
+ ]
2803
+ },
2804
+ LT: {
2805
+ valid: [
2806
+ 'LT-00110',
2807
+ 'LT 00110',
2808
+ 'LT21006',
2809
+ '00110'
2810
+ ],
2811
+ invalid: [
2812
+ nil,
2813
+ '',
2814
+ 'invalid_zip',
2815
+ 'LT-2100',
2816
+ '2100'
2817
+ ]
2818
+ },
2819
+ LC: {
2820
+ valid: %w[
2821
+ 42511
2822
+ AZ42511
2823
+ XY12Z
2824
+ A12
2825
+ 123
2826
+ ABC
2827
+ ],
2828
+ invalid: [
2829
+ nil,
2830
+ '',
2831
+ 'invalid_zip',
2832
+ 'AB',
2833
+ '12'
2834
+ ]
2835
+ },
2836
+ MC: {
2837
+ valid: %w[
2838
+ 07113
2839
+ 02566
2840
+ 66261
2841
+ ],
2842
+ invalid: [
2843
+ nil,
2844
+ '',
2845
+ 'invalid_zip',
2846
+ '1234',
2847
+ '12345-12345',
2848
+ 'D0D0D0'
2849
+ ]
2850
+ },
2851
+ MD: {
2852
+ valid: %w[
2853
+ MD2001
2854
+ ],
2855
+ invalid: [
2856
+ nil,
2857
+ '',
2858
+ 'invalid_zip',
2859
+ 'MD-2100'
2860
+ ]
2861
+ },
2862
+ ME: {
2863
+ valid: %w[
2864
+ 42511
2865
+ AZ42511
2866
+ XY12Z
2867
+ A12
2868
+ 123
2869
+ ABC
2870
+ ],
2871
+ invalid: [
2872
+ nil,
2873
+ '',
2874
+ 'invalid_zip',
2875
+ 'AB',
2876
+ '12'
2877
+ ]
2878
+ },
2879
+ MH: {
2880
+ valid: %w[
2881
+ 07113
2882
+ 02566
2883
+ 66261
2884
+ ],
2885
+ invalid: [
2886
+ nil,
2887
+ '',
2888
+ 'invalid_zip',
2889
+ '1234',
2890
+ '12345-12345',
2891
+ 'D0D0D0'
2892
+ ]
2893
+ },
2894
+ MR: {
2895
+ valid: %w[
2896
+ 42511
2897
+ AZ42511
2898
+ XY12Z
2899
+ A12
2900
+ 123
2901
+ ABC
2902
+ ],
2903
+ invalid: [
2904
+ nil,
2905
+ '',
2906
+ 'invalid_zip',
2907
+ 'AB',
2908
+ '12'
2909
+ ]
2910
+ },
2911
+ MM: {
2912
+ valid: %w[
2913
+ 42511
2914
+ AZ42511
2915
+ XY12Z
2916
+ A12
2917
+ 123
2918
+ ABC
2919
+ ],
2920
+ invalid: [
2921
+ nil,
2922
+ '',
2923
+ 'invalid_zip',
2924
+ 'AB',
2925
+ '12'
2926
+ ]
2927
+ },
2928
+ MW: {
2929
+ valid: %w[
2930
+ 42511
2931
+ AZ42511
2932
+ XY12Z
2933
+ A12
2934
+ 123
2935
+ ABC
2936
+ ],
2937
+ invalid: [
2938
+ nil,
2939
+ '',
2940
+ 'invalid_zip',
2941
+ 'AB',
2942
+ '12'
2943
+ ]
2944
+ },
2945
+ MZ: {
2946
+ valid: %w[
2947
+ 7113
2948
+ 2566
2949
+ 6261
2950
+ 7113
2951
+ ],
2952
+ invalid: [
2953
+ nil,
2954
+ '',
2955
+ 'invalid_zip',
2956
+ '12345',
2957
+ '1234-1234',
2958
+ 'D0D0D0'
2959
+ ]
2960
+ },
2961
+ NA: {
2962
+ valid: %w[
2963
+ 07113
2964
+ 02566
2965
+ 66261
2966
+ ],
2967
+ invalid: [
2968
+ nil,
2969
+ '',
2970
+ 'invalid_zip',
2971
+ '1234',
2972
+ '12345-12345',
2973
+ 'D0D0D0'
2974
+ ]
2975
+ },
2976
+ NP: {
2977
+ valid: %w[
2978
+ 071134
2979
+ 025663
2980
+ 662612
2981
+ 071135
2982
+ ],
2983
+ invalid: [
2984
+ nil,
2985
+ '',
2986
+ 'invalid_zip',
2987
+ '12345',
2988
+ '123456-123456',
2989
+ 'D0D0D0'
2990
+ ]
2991
+ },
2992
+ NR: {
2993
+ valid: %w[
2994
+ 42511
2995
+ AZ42511
2996
+ XY12Z
2997
+ A12
2998
+ 123
2999
+ ABC
3000
+ ],
3001
+ invalid: [
3002
+ nil,
3003
+ '',
3004
+ 'invalid_zip',
3005
+ 'AB',
3006
+ '12'
3007
+ ]
3008
+ },
3009
+ PT: {
3010
+ valid: [
3011
+ '4500',
3012
+ '4500-250'
3013
+ ],
3014
+ invalid: [
3015
+ nil,
3016
+ '',
3017
+ 'invalid_zip',
3018
+ '4500-2500'
3019
+ ]
3020
+ },
3021
+ PS: {
3022
+ valid: %w[
3023
+ 711
3024
+ 256
3025
+ 626
3026
+ 711
3027
+ ],
3028
+ invalid: [
3029
+ nil,
3030
+ '',
3031
+ 'invalid_zip',
3032
+ '1234',
3033
+ '123-123',
3034
+ 'D0D0D0'
3035
+ ]
3036
+ },
3037
+ PA: {
3038
+ valid: %w[
3039
+ 7113
3040
+ 2566
3041
+ 6261
3042
+ 7113
3043
+ ],
3044
+ invalid: [
3045
+ nil,
3046
+ '',
3047
+ 'invalid_zip',
3048
+ '12345',
3049
+ '1234-1234',
3050
+ 'D0D0D0'
3051
+ ]
3052
+ },
3053
+ PE: {
3054
+ valid: %w[
3055
+ 07113
3056
+ 02566
3057
+ 66261
3058
+ ],
3059
+ invalid: [
3060
+ nil,
3061
+ '',
3062
+ 'invalid_zip',
3063
+ '1234',
3064
+ '12345-12345',
3065
+ 'D0D0D0'
3066
+ ]
3067
+ },
3068
+ QA: {
3069
+ valid: %w[
3070
+ 42511
3071
+ AZ42511
3072
+ XY12Z
3073
+ A12
3074
+ 123
3075
+ ABC
3076
+ ],
3077
+ invalid: [
3078
+ nil,
3079
+ '',
3080
+ 'invalid_zip',
3081
+ 'AB',
3082
+ '12'
3083
+ ]
3084
+ },
3085
+ RW: {
3086
+ valid: %w[
3087
+ 42511
3088
+ AZ42511
3089
+ XY12Z
3090
+ A12
3091
+ 123
3092
+ ABC
3093
+ ],
3094
+ invalid: [
3095
+ nil,
3096
+ '',
3097
+ 'invalid_zip',
3098
+ 'AB',
3099
+ '12'
3100
+ ]
3101
+ },
3102
+ SC: {
3103
+ valid: %w[
3104
+ 42511
3105
+ AZ42511
3106
+ XY12Z
3107
+ A12
3108
+ 123
3109
+ ABC
3110
+ ],
3111
+ invalid: [
3112
+ nil,
3113
+ '',
3114
+ 'invalid_zip',
3115
+ 'AB',
3116
+ '12'
3117
+ ]
3118
+ },
3119
+ SE: {
3120
+ valid: [
3121
+ '048 80',
3122
+ '50039',
3123
+ '67183'
3124
+ ],
3125
+ invalid: [
3126
+ nil,
3127
+ '',
3128
+ 'invalid_zip',
3129
+ '123456'
3130
+ ]
3131
+ },
3132
+ SK: {
3133
+ valid: [
3134
+ '83102',
3135
+ '911 05',
3136
+ '094 12'
3137
+ ],
3138
+ invalid: [
3139
+ nil,
3140
+ '',
3141
+ 'invalid_zip',
3142
+ '120 00'
3143
+ ]
3144
+ },
3145
+ SL: {
3146
+ valid: %w[
3147
+ 42511
3148
+ AZ42511
3149
+ XY12Z
3150
+ A12
3151
+ 123
3152
+ ABC
3153
+ ],
3154
+ invalid: [
3155
+ nil,
3156
+ '',
3157
+ 'invalid_zip',
3158
+ 'AB',
3159
+ '12'
3160
+ ]
3161
+ },
3162
+ SB: {
3163
+ valid: %w[
3164
+ 42511
3165
+ AZ42511
3166
+ XY12Z
3167
+ A12
3168
+ 123
3169
+ ABC
3170
+ ],
3171
+ invalid: [
3172
+ nil,
3173
+ '',
3174
+ 'invalid_zip',
3175
+ 'AB',
3176
+ '12'
3177
+ ]
3178
+ },
3179
+ SR: {
3180
+ valid: %w[
3181
+ 42511
3182
+ AZ42511
3183
+ XY12Z
3184
+ A12
3185
+ 123
3186
+ ABC
3187
+ ],
3188
+ invalid: [
3189
+ nil,
3190
+ '',
3191
+ 'invalid_zip',
3192
+ 'AB',
3193
+ '12'
3194
+ ]
3195
+ },
3196
+ SO: {
3197
+ valid: %w[
3198
+ 42511
3199
+ AZ42511
3200
+ XY12Z
3201
+ A12
3202
+ 123
3203
+ ABC
3204
+ ],
3205
+ invalid: [
3206
+ nil,
3207
+ '',
3208
+ 'invalid_zip',
3209
+ 'AB',
3210
+ '12'
3211
+ ]
3212
+ },
3213
+ SV: {
3214
+ valid: %w[
3215
+ 42511
3216
+ AZ42511
3217
+ XY12Z
3218
+ A12
3219
+ 123
3220
+ ABC
3221
+ ],
3222
+ invalid: [
3223
+ nil,
3224
+ '',
3225
+ 'invalid_zip',
3226
+ 'AB',
3227
+ '12'
3228
+ ]
3229
+ },
3230
+ SD: {
3231
+ valid: %w[
3232
+ 07113
3233
+ 02566
3234
+ 66261
3235
+ ],
3236
+ invalid: [
3237
+ nil,
3238
+ '',
3239
+ 'invalid_zip',
3240
+ '1234',
3241
+ '12345-12345',
3242
+ 'D0D0D0'
3243
+ ]
3244
+ },
3245
+ ST: {
3246
+ valid: %w[
3247
+ 42511
3248
+ AZ42511
3249
+ XY12Z
3250
+ A12
3251
+ 123
3252
+ ABC
3253
+ ],
3254
+ invalid: [
3255
+ nil,
3256
+ '',
3257
+ 'invalid_zip',
3258
+ 'AB',
3259
+ '12'
3260
+ ]
3261
+ },
3262
+ SY: {
3263
+ valid: %w[
3264
+ 42511
3265
+ AZ42511
3266
+ XY12Z
3267
+ A12
3268
+ 123
3269
+ ABC
3270
+ ],
3271
+ invalid: [
3272
+ nil,
3273
+ '',
3274
+ 'invalid_zip',
3275
+ 'AB',
3276
+ '12'
3277
+ ]
3278
+ },
3279
+ SS: {
3280
+ valid: %w[
3281
+ 07113
3282
+ 02566
3283
+ 66261
3284
+ ],
3285
+ invalid: [
3286
+ nil,
3287
+ '',
3288
+ 'invalid_zip',
3289
+ '1234',
3290
+ '12345-12345',
3291
+ 'D0D0D0'
3292
+ ]
3293
+ },
3294
+ TD: {
3295
+ valid: %w[
3296
+ 07113
3297
+ 02566
3298
+ 66261
3299
+ ],
3300
+ invalid: [
3301
+ nil,
3302
+ '',
3303
+ 'invalid_zip',
3304
+ '1234',
3305
+ '12345-12345',
3306
+ 'D0D0D0'
3307
+ ]
3308
+ },
3309
+ TG: {
3310
+ valid: %w[
3311
+ 42511
3312
+ AZ42511
3313
+ XY12Z
3314
+ A12
3315
+ 123
3316
+ ABC
3317
+ ],
3318
+ invalid: [
3319
+ nil,
3320
+ '',
3321
+ 'invalid_zip',
3322
+ 'AB',
3323
+ '12'
3324
+ ]
3325
+ },
3326
+ TO: {
3327
+ valid: %w[
3328
+ 42511
3329
+ AZ42511
3330
+ XY12Z
3331
+ A12
3332
+ 123
3333
+ ABC
3334
+ ],
3335
+ invalid: [
3336
+ nil,
3337
+ '',
3338
+ 'invalid_zip',
3339
+ 'AB',
3340
+ '12'
3341
+ ]
3342
+ },
3343
+ TZ: {
3344
+ valid: %w[
3345
+ 42511
3346
+ AZ42511
3347
+ XY12Z
3348
+ A12
3349
+ 123
3350
+ ABC
3351
+ ],
3352
+ invalid: [
3353
+ nil,
3354
+ '',
3355
+ 'invalid_zip',
3356
+ 'AB',
3357
+ '12'
3358
+ ]
3359
+ },
3360
+ TT: {
3361
+ valid: %w[
3362
+ 071134
3363
+ 025663
3364
+ 662612
3365
+ 071135
3366
+ ],
3367
+ invalid: [
3368
+ nil,
3369
+ '',
3370
+ 'invalid_zip',
3371
+ '12345',
3372
+ '123456-123456',
3373
+ 'D0D0D0'
3374
+ ]
3375
+ },
3376
+ TW: {
3377
+ valid: %w[
3378
+ 833
3379
+ 74144
3380
+ ],
3381
+ invalid: [
3382
+ nil,
3383
+ '',
3384
+ 'invalid_zip',
3385
+ '4329'
3386
+ ]
3387
+ },
3388
+ UG: {
3389
+ valid: %w[
3390
+ 42511
3391
+ AZ42511
3392
+ XY12Z
3393
+ A12
3394
+ 123
3395
+ ABC
3396
+ ],
3397
+ invalid: [
3398
+ nil,
3399
+ '',
3400
+ 'invalid_zip',
3401
+ 'AB',
3402
+ '12'
3403
+ ]
3404
+ },
3405
+ UM: {
3406
+ valid: %w[
3407
+ 42511
3408
+ AZ42511
3409
+ XY12Z
3410
+ A12
3411
+ 123
3412
+ ABC
3413
+ ],
3414
+ invalid: [
3415
+ nil,
3416
+ '',
3417
+ 'invalid_zip',
3418
+ 'AB',
3419
+ '12'
3420
+ ]
3421
+ },
3422
+ UY: {
3423
+ valid: %w[
3424
+ 42511
3425
+ AZ42511
3426
+ XY12Z
3427
+ A12
3428
+ 123
3429
+ ABC
3430
+ ],
3431
+ invalid: [
3432
+ nil,
3433
+ '',
3434
+ 'invalid_zip',
3435
+ 'AB',
3436
+ '12'
3437
+ ]
3438
+ },
3439
+ VC: {
3440
+ valid: %w[
3441
+ VC2181
3442
+ VC6376
3443
+ VC4702
3444
+ ],
3445
+ invalid: [
3446
+ nil,
3447
+ '',
3448
+ 'invalid_zip',
3449
+ 'VC281',
3450
+ 'VC63726',
3451
+ 'CV4702'
3452
+ ]
3453
+ },
3454
+ VI: {
3455
+ valid: %w[
3456
+ 07113
3457
+ 02566
3458
+ 66261
3459
+ ],
3460
+ invalid: [
3461
+ nil,
3462
+ '',
3463
+ 'invalid_zip',
3464
+ '1234',
3465
+ '12345-12345',
3466
+ 'D0D0D0'
3467
+ ]
3468
+ },
3469
+ VG: {
3470
+ valid: %w[
3471
+ 42511
3472
+ AZ42511
3473
+ XY12Z
3474
+ A12
3475
+ 123
3476
+ ABC
3477
+ ],
3478
+ invalid: [
3479
+ nil,
3480
+ '',
3481
+ 'invalid_zip',
3482
+ 'AB',
3483
+ '12'
3484
+ ]
3485
+ },
3486
+ VN: {
3487
+ valid: %w[
3488
+ 071134
3489
+ 025663
3490
+ 662612
3491
+ 071135
3492
+ ],
3493
+ invalid: [
3494
+ nil,
3495
+ '',
3496
+ 'invalid_zip',
3497
+ '12345',
3498
+ '123456-123456',
3499
+ 'D0D0D0'
3500
+ ]
3501
+ },
3502
+ VU: {
3503
+ valid: %w[
3504
+ 42511
3505
+ AZ42511
3506
+ XY12Z
3507
+ A12
3508
+ 123
3509
+ ABC
3510
+ ],
3511
+ invalid: [
3512
+ nil,
3513
+ '',
3514
+ 'invalid_zip',
3515
+ 'AB',
3516
+ '12'
3517
+ ]
3518
+ },
3519
+ WS: {
3520
+ valid: %w[
3521
+ 42511
3522
+ AZ42511
3523
+ XY12Z
3524
+ A12
3525
+ 123
3526
+ ABC
3527
+ ],
3528
+ invalid: [
3529
+ nil,
3530
+ '',
3531
+ 'invalid_zip',
3532
+ 'AB',
3533
+ '12'
3534
+ ]
3535
+ },
3536
+ YE: {
3537
+ valid: %w[
3538
+ 42511
3539
+ AZ42511
3540
+ XY12Z
3541
+ A12
3542
+ 123
3543
+ ABC
3544
+ ],
3545
+ invalid: [
3546
+ nil,
3547
+ '',
3548
+ 'invalid_zip',
3549
+ 'AB',
3550
+ '12'
3551
+ ]
3552
+ },
3553
+ ZW: {
3554
+ valid: %w[
3555
+ 42511
3556
+ AZ42511
3557
+ XY12Z
3558
+ A12
3559
+ 123
3560
+ ABC
3561
+ ],
3562
+ invalid: [
3563
+ nil,
3564
+ '',
3565
+ 'invalid_zip',
3566
+ 'AB',
3567
+ '12'
3568
+ ]
3569
+ }
3570
+ }.freeze