PHPackages                             nigrosimone/codicefiscale - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. nigrosimone/codicefiscale

ActiveProject[Validation &amp; Sanitization](/categories/validation)

nigrosimone/codicefiscale
=========================

Libreria PHP per la validazione dei Codici Fiscali italiani a 16 caratteri con supporto per l'omocodia

1.0.4(2w ago)1614.0k↓60.1%6MITPHPPHP &gt;=7.4CI passing

Since Jan 22Pushed 2w ago1 watchersCompare

[ Source](https://github.com/nigrosimone/codice-fiscale)[ Packagist](https://packagist.org/packages/nigrosimone/codicefiscale)[ Docs](https://github.com/nigrosimone/CodiceFiscale)[ RSS](/packages/nigrosimone-codicefiscale/feed)WikiDiscussions master Synced 2w ago

READMEChangelog (5)Dependencies (6)Versions (7)Used By (0)

Codice Fiscale PHP
==================

[](#codice-fiscale-php)

[![CI](https://github.com/nigrosimone/codice-fiscale/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/nigrosimone/codice-fiscale/actions/workflows/ci.yml) [![Coverage Status](https://camo.githubusercontent.com/6339fdab30f7bc35ef4c2d585a1c388437b84cd7dd6f7db68fed1746fc818d50/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f6769746875622f6e6967726f73696d6f6e652f636f646963652d66697363616c652f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/github/nigrosimone/codice-fiscale?branch=master)

Libreria PHP per la validazione dei Codici Fiscali italiani a 16 caratteri con supporto per l'omocodia. Leggera (solo 10 KB) e veloce (1'000'000 di codici fiscali validati in 3 secondi).

Oltre al carattere di controllo vengono verificati la forma del codice, il mese di nascita e la compatibilità del giorno con il mese. Le terne di cognome e nome sono validate nella struttura: si costruiscono prendendo le consonanti nell'ordine, poi le vocali nell'ordine, riempiendo con `X`se le lettere disponibili sono meno di tre, quindi una vocale non può essere seguita da una consonante diversa dalla `X`. Sono ammesse 12.251 terne su 17.576, cioè meno della metà dei prefissi di sei lettere. Del codice catastale viene controllata la lettera iniziale, limitata a quelle realmente assegnate (`A`-`M` per i comuni italiani, dove l'alfabeto italiano non comprende `J` e `K`, e `Z` per gli stati esteri), mentre le tre cifre successive non sono confrontate con l'elenco ANCI: un codice `valido` è formalmente coerente, non necessariamente esistente.

L'alterazione per omocodia è accettata solo nella forma prevista dal DM 23/12/1976: la sostituzione delle cifre con le corrispondenti lettere parte dal carattere numerico più a destra e prosegue verso sinistra senza salti. Un codice in cui una cifra risulta sostituita mentre una posizione più a destra è rimasta numerica non è emettibile e viene rifiutato, anche quando il carattere di controllo è corretto.

Requisiti
---------

[](#requisiti)

PHP 7.4 o superiore (testata fino a PHP 8.4).

Installazione
-------------

[](#installazione)

Usa il dependency manager composer per installare `nigrosimone/codicefiscale`:

```
composer require nigrosimone/codicefiscale
```

Oppure scarica direttamente il sorgente [CodiceFiscale.php](https://github.com/nigrosimone/codice-fiscale/blob/master/src/CodiceFiscale.php)

Uso
---

[](#uso)

```
