UNPKG

world-vat-validator-vcx

Version:
224 lines (221 loc) 4.68 kB
var { austria, belgium, bulgaria, croatia, cyprus, czechRepublic, denmark, estonia, finland, france, germany, greece, hungary, ireland, italy, latvia, lithuania, luxembourg, malta, netherlands, poland, portugal, romania, slovakia, slovenia, spain, sweden, albania, northMacedonia, australia, belarus, canada, iceland, india, indonesia, israel, kazakhstan, newZeland, nigeria, norway, philippines, russia, sanMarino, saudiArabia, serbia, switzerland, turkey, ukraine, unitedKindom, uzbekistan, argentina, bolivia, brazil, chile, colombia, costaRica, ecuador, elSalvador, guatemala, honduras, mexico, nicaragua, panama, paraguay, peru, dominicanRepublic, uruguay, venezuela, europeanCompany, japan, } = require('./regex.js'); const vatValidator = (country, vatNumber) => { let countryToUpperCase = country.toUpperCase(); let vat = vatNumber.toUpperCase(); switch (countryToUpperCase) { case 'AT': return austria.test(vat); case 'BE': return belgium.test(vat); case 'BG': return bulgaria.test(vat); case 'HR': return croatia.test(vat); case 'CY': return cyprus.test(vat); case 'CZ': return czechRepublic.test(vat); case 'DK': return denmark.test(vat); case 'EE': return estonia.test(vat); case 'FI': return finland.test(vat); case 'FR': return france.test(vat); case 'DE': return germany.test(vat); case 'EL': return greece.test(vat); case 'HU': return hungary.test(vat); case 'IE': return ireland.test(vat); case 'IT': return italy.test(vat); case 'LV': return latvia.test(vat); case 'LT': return lithuania.test(vat); case 'LU': return luxembourg.test(vat); case 'MT': return malta.test(vat); case 'NL': return netherlands.test(vat); case 'PL': return poland.test(vat); case 'PT': return portugal.test(vat); case 'RO': return romania.test(vat); case 'SK': return slovakia.test(vat); case 'SI': return slovenia.test(vat); case 'ES': return spain.test(vat); case 'SE': return sweden.test(vat); case 'AL': return albania.test(vat); case 'MK': return northMacedonia.test(vat); case 'AU': return australia.test(vat); case 'BY': return belarus.test(vat); case 'CA': return canada.test(vat); case 'IS': return iceland.test(vat); case 'IN': return india.test(vat); case 'ID': return indonesia.test(vat); case 'IL': return israel.test(vat); case 'KZ': return kazakhstan.test(vat); case 'NZ': return newZeland.test(vat); case 'NG': return nigeria.test(vat); case 'NO': return norway.test(vat); case 'PH': return philippines.test(vat); case 'RU': return russia.test(vat); case 'SM': return sanMarino.test(vat); case 'SA': return saudiArabia.test(vat); case 'RS': return serbia.test(vat); case 'CH': return switzerland.test(vat); case 'TR': return turkey.test(vat); case 'UA': return ukraine.test(vat); case 'GB': return unitedKindom.test(vat); case 'UZ': return uzbekistan.test(vat); case 'AR': return argentina.test(vat); case 'BO': return bolivia.test(vat); case 'BR': return brazil.test(vat); case 'CL': return chile.test(vat); case 'CO': return colombia.test(vat); case 'CR': return costaRica.test(vat); case 'EC': return ecuador.test(vat); case 'SV': return elSalvador.test(vat); case 'GT': return guatemala.test(vat); case 'HN': return honduras.test(vat); case 'MX': return mexico.test(vat); case 'NI': return nicaragua.test(vat); case 'PA': return panama.test(vat); case 'PY': return paraguay.test(vat); case 'PE': return peru.test(vat); case 'DO': return dominicanRepublic.test(vat); case 'UY': return uruguay.test(vat); case 'VE': return venezuela.test(vat); case 'EU': return europeanCompany.test(vat); case 'JP': return japan.test(vat); default: return null; } }; module.exports = vatValidator;