FiscalCodeValidator 1.0.0

.NET 5.0
Additional Details

Errors reading data files

There is a newer version of this package available.
See the version list below for details.
Install-Package FiscalCodeValidator -Version 1.0.0
dotnet add package FiscalCodeValidator --version 1.0.0
<PackageReference Include="FiscalCodeValidator" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FiscalCodeValidator --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FiscalCodeValidator, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install FiscalCodeValidator as a Cake Addin
#addin nuget:?package=FiscalCodeValidator&version=1.0.0

// Install FiscalCodeValidator as a Cake Tool
#tool nuget:?package=FiscalCodeValidator&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.


Fiscal Code Validator can be used to perform a syntactic validation of [Italian fiscal codes][1].


The FiscalCode class can be initialized by passing the complete fiscal code in the constructor. The code is decomposed into the constituent units (first name, last name, gender, birth date, and birth place). Each piece of information is individually extracted from the string and the class properties are populated. If the code provided is incorrect, some of the properties may be left null.

FiscalCode fiscalCode = new FiscalCode("RSSLRA90D70L378H");
string lastName = fiscalCode.LastName; // RSS
string firstName = fiscalCode.FirstName; // LRA
DateTime? date = fiscalCode.Date; // 1990-04-30
Gender? gender = fiscalCode.Gender; // Gender.Female
Place place = fiscalCode.Place; // Trento


The FiscalCode class provides some methods to check if the fiscal code data partially corresponds to the owner’s personal information. It should be noted that these functions do not provide information on the overall validity of the code.

bool result = fiscalCode.matchLastName("Rossi"); // true
bool result = fiscalCode.matchFirstName("Laura"); // true
bool result = fiscalCode.matchGender(Gender.Male); // false
bool result = fiscalCode.matchDate(new DateTime(1990, 5, 30)); // false
bool result = fiscalCode.matchPlace(Utility.GetPlace("L378")); // true


The isValid() method performs a syntactic validation of each section of the code, individually. If no parameters are provided, the method checks if all the properties of the FiscalCode instance have been populated correctly and then verifies the validity of the check digit.

bool result = fiscalCode.isValid(); // true

If one or more parameters are provided, the method performs the former validation and then checks whether the data provided matches the code information.

bool result = fiscalCode.isValid(firstName: "Laura", gender: Gender.Female); // true
bool result = fiscalCode.isValid(gender: Gender.Male); // false


  1. The validation method considers the [omocodia][2] problem
  2. To verify the existence of a fiscal code you can use [this][3] service


Michele Benolli,

[1]: "Italian fiscal codes" [2]: "omocodia" [3]: "VerificaCf"

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.1 199 1/17/2022
1.1.0 232 10/26/2021
1.0.0 167 10/20/2021