JavaScript EU VAT Number Validation Function Change Log

Version:       V1.0
Date:          30th July 2005
Description:   Used to check the validity of an EU country VAT number

Version:       V1.1
Date:          3rd August 2005
Description:   Lithuanian legal entities and Maltese check digit checks added.

Version:       V1.2
Date:          20th October 2005
Description:   Italian checks refined (thanks Matteo Mike Peluso).

Version:       V1.3
Date:          16th November 2005
Description:   Error in GB numbers ending in 00 fixed (thanks Guy Dawson).

Version:       V1.4
Date:          28th September 2006
Description:   EU-type numbers added.

Version:       V1.5
Date:          1st January 2007
Description:   Romanian and Bulgarian numbers added.

Version:       V1.6
Date:          7th January 2007
Description:   Error with Slovenian numbers (thanks to Ales Hotko).

Version:       V1.7
Date:          10th February 2007
Description:   Romanian check digits added. Thanks to Dragu Costel for test suite.

Version:       V1.8
Date:          3rd August 2007
Description:   IE code modified to allow + and * in old format numbers. Thanks to Antonin Moy of 
               Sphere Solutions for pointing out the error.

Version:       V1.9
Date:          6th August 2007
Description:   BE code modified to make a specific check that the leading character of 10 digit 
               numbers is 0 (belts and braces).

Version:       V1.10
Date:          10th August 2007
Description:   Cypriot check digit support added.
               Check digit validation support for non-standard UK numbers

Version:       V1.11
Date:          25th September 2007
Description:   Spain check digit support for personal numbers.
               Author: David Perez Carmona

Version:       V1.12
Date:          23rd November 2009
Description:   GB code modified to take into account new style check digits.
               Thanks to Guy Dawson of Crossflight Ltd for pointing out the necessity.

Version:       V1.13
Date:          7th July 2012
Description:   EL, GB, SE and BE formats updated - thanks to Joost Van Biervliet of VAT Applications

Version:       V.14
Date:          8th April 2013
Description:   BE Pattern match refined
               BG Add check digit checks for all four types of VAT number
               CY Pattern match improved
               CZ Personal pattern match checking improved
               CZ Personal check digits incorporated
               EE Improved pattern match
               ES Physical person number checking refined
               GB Check digit support provided for 12 digit VAT codes and range checks included
               IT Bug removed to allow 999 and 888 issuing office codes
               LT Temporarily registered taxpayers check digit support added
               LV Natural persons checks added
               RO Improved pattern match
               SK Improved pattern match and added check digit support
               
               Thanks to Theo Vroom for his help in this latest release.
               
Version:       V1.15
Date:          15th April 2013
               Swedish algorithm re-implemented.
               
Version:       V1.16
Date:          25th July 2013
               Support for Croatian numbers added
              
Version:       V1.17
Date:          10th September 2013
               Support for Norwegian MVA numbers added (yes, I know that Norway is not in the EU!)
              
Version:       V1.18
Date:          29th October 2013
               Partial support for new style Irish numbers - thanks to Simon Leigh of RomanCart 
               See http://www.revenue.ie/en/practitioner/ebrief/2013/no-032013.html               
              
Version:       V1.19
Date:          31st October 2013
               Support for Serbian PBI numbers added (yes, I know that Serbia is not in the EU!)  
               
Version:       V1.20
Date:          1st November 2013
               Support for Swiss MWST numbers added (yes, I know that Switzerland is not in the EU!)
              
Version        V1.21
               16th December 2013
               Non-critical code tidies to French and Danish regular expressions. 
               Thanks to Bill Seddon of Lyquidity Solutions
              
Version        V1.22
               14th January 2014
               Non-critical code tidy to regular expression for new format Irish numbers. 
               Thanks to Olivier Reubens of UNIT4 C-Logic N.V.   
              
Version        V1.23
               10th April 2014
               Support for Russian INN numbers added (yes, I know that Russia is not in the EU!)
               Thanks to Marco Cesaratto of Arki Tech, Italy 
               
Version        V1.24
               4th June 2014
               Check digit validation supported for Irish Type 3 numbers
               Thanks to Olivier Reubens of UNIT4 C-Logic N.V.
              
Version        V1.25
               29th July 2014
               Code improvements
               Thanks to Sébastien Boelpaep and Nate Kerkhofs
              
Version        V1.26
               4th May 2015
               Code improvements to regular expressions
               Thanks to Robert Gust-Bardon of webcraft.ch
              
Version        V1.27
               3rd December 2015
               Extend Swiss optional suffix to allow TVA and ITA
               Thanks to Oskars Petermanis
              
Version       V1.28
              30th August 2016
              Correct Swiss optional suffix to allow TVA and IVA
              Thanks to Jan Verhaegen