Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Espressione regolare per codice fiscale

    Una regex per validare il codice fiscale che mi è venuta in mente è:

    ^[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]$

    secondo voi è esatta? ce ne sono di migliori?
    Perchè ho iniziato a studiare le regex da poco e non sono sicuro di fare le cose x bene...


  2. #2
    Utente di HTML.it L'avatar di newbie
    Registrato dal
    Dec 2005
    Messaggi
    299

    Re: Espressione regolare per codice fiscale

    Originariamente inviato da gygabyte017
    Una regex per validare il codice fiscale che mi è venuta in mente è:

    ^[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]$

    secondo voi è esatta? ce ne sono di migliori?
    Perchè ho iniziato a studiare le regex da poco e non sono sicuro di fare le cose x bene...

    E' praticamente perfetta... comunque io aggiungerei un controllo più selettivo per quanto riguarda il carattere corrispondente al mese che, se non sbaglio, comprende solo ALCUNE lettere e non tutte (ad esempio mi pare che non ci siano la F, la Q, non so quali altre).
    A parte questo... è un ottimo esempio di pezzo di codice da copiare e incollare quando serve...

    Svegliati, Neo. Matrix ti possiede...

  3. #3

    Espressione regolare per codice fiscale

    Credo che questa espressione regolare sia ottimizzata ulteriormente, anche perchè alla base ci sta lo studio dei vari campi che formano il codice fiscale. Fatemi sapere cosa ne pensate.
    ^[a-zA-Z]{6}[0-9]{2}[abcdehlmprstABCDEHLMPRST]{1}[0-9]{2}([a-zA-Z]{1}[0-9]{3})[a-zA-Z]{1}$
    /*tra le tonde vi è l'identificativo del comune (codice catastale). Le lettere elencate (abcd ecc.) indicano il mese di nascita mentre l'ultima lettera è quella di controllo.*/
    Here Comes The Music Ecstasy

  4. #4
    Secondo me per avere la certezza di avere tra le mani un codice fiscale almeno sintatticamente valido ne andrebbe effettuato il parsing per bene, verificando che la lettera del mese di nascita (che può essere solo alcune lettere), la parte del comune di nascita (che può essere solo un codice catastale di comune valido) e il codice di controllo siano validi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5

    Espressione regolare per Codice Fiscale

    Se leggi bene l'espressione regolare sono presenti SOLO le lettere che identificano il mese di nascita. Per quanto riguarda il codice catastale si potrebbe inserire quello di ogni comune all'interno di una sottostringa ed alternare ognuna di esse con un OR (lavoro ESAGERATO). Il codice di controllo, invece, è una qualsiasi lettera dell'alfabeto (vedi l'espressione), per verificare che sia esatto bisogna operare al di fuori della regex stessa, tramite calcoli numerici specifici (per intenderci, lo si dovrebbe calcolare all'interno dello script e non mediante l'espressione regolare). Spero di essere stato chiaro,
    Here Comes The Music Ecstasy

  6. #6

    omocodie

    In linea di massima va bene, ma non è perfetto perché non tiene conto delle omocodie:
    ^[A-Z]{6}[A-Z0-9]{2}[A-Z][A-Z0-9]{2}[A-Z][A-Z0-9]{3}[A-Z]$

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.