10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/vat_check/format.rb', line 10
def self.patterns
@patterns ||= {
'AT' => /\AATU[0-9]{8}\Z/,
'BE' => /\ABE0[0-9]{9}\Z/,
'BG' => /\ABG[0-9]{9,10}\Z/,
'CY' => /\ACY[0-9]{8}[A-Z]\Z/,
'CZ' => /\ACZ[0-9]{8,10}\Z/,
'DE' => /\ADE[0-9]{9}\Z/,
'DK' => /\ADK[0-9]{8}\Z/,
'EE' => /\AEE[0-9]{9}\Z/,
'EL' => /\AEL[0-9]{9}\Z/,
'ES' => /\AES([A-Z][0-9]{8}|[0-9]{8}[A-Z]|[A-Z][0-9]{7}[A-Z])\Z/,
'FI' => /\AFI[0-9]{8}\Z/,
'FR' => /\AFR[A-Z0-9]{2}[0-9]{9}\Z/,
'GB' => /\AGB([0-9]{9}|[0-9]{12}|(HA|GD)[0-9]{3})\Z/,
'HR' => /\AHR[0-9]{11}\Z/,
'HU' => /\AHU[0-9]{8}\Z/,
'IE' => /\AIE([0-9][A-Z][0-9]{5}|[0-9]{7}[A-Z]?)[A-Z]\Z/,
'IT' => /\AIT[0-9]{11}\Z/,
'LT' => /\ALT([0-9]{9}|[0-9]{12})\Z/,
'LU' => /\ALU[0-9]{8}\Z/,
'LV' => /\ALV[0-9]{11}\Z/,
'MT' => /\AMT[0-9]{8}\Z/,
'NL' => /\ANL[0-9]{9}B[0-9]{2}\Z/,
'PL' => /\APL[0-9]{10}\Z/,
'PT' => /\APT[0-9]{9}\Z/,
'RO' => /\ARO[1-9][0-9]{1,9}\Z/,
'SE' => /\ASE[0-9]{12}\Z/,
'SI' => /\ASI[0-9]{8}\Z/,
'SK' => /\ASK[0-9]{10}\Z/
}
end
|