You may want to use https://github.com/loophp/tin instead.
A library to validate TIN numbers for individuals. This is based on a java library, this is why the code does not reflect best practices in php.
Supported countries are:
- Austria (AT)
- Belgium (BE)
- Bulgaria (BG)
- Croatia (HR)
- Cyprus (CY)
- Czech Republic (CZ) - no check digit (but possible czechphp/national-identification-number-validator)
- Denmark (DK)
- Estonia (EE)
- Finland (FI)
- France (FR)
- Germany (DE)
- Greece (GR) - only size
- Hungary (HU)
- Ireland (IE)
- Italy (IT)
- Latvia (LV) - no check digit
- Lithuania (LT)
- Luxembourg (LU)
- Malta (MT) - no check digit
- Netherlands (NL)
- Poland (PL)
- Portugal (PT)
- Romania (RO) - no check digit
- Slovakia (SK) - only structure
- Slovenia (SI)
- Spain (ES)
- Sweden (SE)
- United Kingdom (UK) - only structure
If your country is not there, feel free to open an issue with your country code and a link to the specification. Ideally, if you can provide a PR with the algorithm and the test that would be even better :-)
Run
$ composer require lekoala/tin
To simply check the validity of a number
$result = TINValid::checkTIN($countryCode, $number);
If you want to get the reason why a number is invalid, you can use
try {
TINValid::validateTIN($countryCode, $number);
}
catch(TINValidationException $e) {
}
If you want to see if a country is supported or not, you can simply use
$result = TINValid::isCountrySupported('be');
TIN Algorithms - Public - Functional Specification
Taxpayer Identification Number
This package is licensed using the MIT License.
Please have a look at LICENSE.md
.