Generatore codice fiscale da implementare su sito?
Ciao a tutti, sto mettendo in piedi un mio sito e mi servirebbe una piccola applicazione che posso mettere sul sito per far generare automaticamente il codice fiscale.
Per fare un esempio quello che trovate qui:
https://www.betfair.it/createAccount.html
in pratica mettete provincia e comune e il software genera il codice.
Mi sapete come posso fare?
Come si fa poi a tenere aggiornato l'elenco dei comuni?
Grazie mille
4 risposte
- 1 decennio faRisposta preferita
io mi sono visto costretto a crearne uno per una web application e ti assicuro che è un casino e una perdita di tempo assurda.. soprattutto se in mezzo a nome e cognome ci sono vocali accentate o con dieresi. (per non parlare di eventuali liste di codici catastali suddivisi per provincia e comune (divisi per provincia perchè ci saranno una ventina di San Giorgio).. sai quanti comuni ci sono in italia?!?!) solo il db dei comuni da convertire nel tuo formato ti porterà via 2 o 3 giorni.
se non è proprio estremamente necessario per il sito ti consiglio di dedicarti a qualcos'altro.. ce ne sono di cose da implementare in un sito!!!
- 1 decennio fa
Qui di seguito riporto parte del programma di generazione del codice fiscale che ho creato io. Se mi vuoi contattare ci sentiamo su msn: tommasi.mauro@live.it
Public Class Form1
Dim lettere(25), comuni(9999) As String
Dim totale As Integer
Private Sub btncalcola_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncalcola.Click
txtcodicefiscale.Text = codice_cognome(txtcognome.Text) & codice_nome(txtnome.Text) & data() & codice_comune() & codice_controllo(sommapari(), sommadispari())
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dato As String
Dim i As Integer
totale = 0
lettere(0) = "A"
lettere(1) = "B"
lettere(2) = "C"
lettere(3) = "D"
lettere(4) = "E"
lettere(5) = "F"
lettere(6) = "G"
lettere(7) = "H"
lettere(8) = "I"
lettere(9) = "J"
lettere(10) = "K"
lettere(11) = "L"
lettere(12) = "M"
lettere(13) = "N"
lettere(14) = "O"
lettere(15) = "P"
lettere(16) = "Q"
lettere(17) = "R"
lettere(18) = "S"
lettere(19) = "T"
lettere(20) = "U"
lettere(21) = "V"
lettere(22) = "W"
lettere(23) = "X"
lettere(24) = "Y"
lettere(25) = "Z"
FileOpen(1, My.Computer.FileSystem.SpecialDirectories.Desktop & "\codicicomuni.txt", OpenMode.Input)
Do While Not EOF(1)
dato = LineInput(1)
For i = 0 To 12
If Mid(dato, 1, 1) = lettere(i) Then
cbocomuni.Items.Add(Mid(dato, 6, Len(dato) - 4))
comuni(totale) = dato
totale = totale + 1
End If
Next i
Loop
End Sub
Private Function codice_comune() As String
For i = 0 To totale - 1
If Mid(comuni(i), 6, Len(comuni(i)) - 4) = cbocomuni.Text Then
codice_comune = Mid(comuni(i), 1, 4)
End If
Next i
End Function
Private Function Vocale(ByRef parametro As String) As Boolean
If parametro = lettere(0) Or parametro = lettere(4) Or parametro = lettere(8) Or parametro = lettere(14) Or parametro = lettere(20) Then
Vocale = True
Else
Vocale = False
End If
End Function
Private Function codice_cognome(ByRef testo As String) As String
Dim n, i As Integer
Dim lettera As String
codice_cognome = ""
n = 0
For i = 1 To Len(testo)
lettera = Mid(testo, i, 1)
If n < 3 Then
If Vocale(lettera) = False Then
codice_cognome = codice_cognome & lettera
n = n + 1
End If
End If
Next i
If n < 3 Then
For i = 1 To Len(testo)
lettera = Mid(testo, i, 1)
If n < 3 Then
If Vocale(lettera) = True Then
codice_cognome = codice_cognome & lettera
n = n + 1
End If
End If
Next i
End If
If n < 3 Then
For i = 1 To 3 - n
codice_cognome = codice_cognome & "X"
Next i
End If
End Function
Private Function codice_nome(ByRef testo As String) As String
Dim n, i As Integer
Dim lettera, tri As String
codice_nome = ""
tri = ""
n = 0
If quattro(testo) = True Then
For i = 1 To Len(testo)
lettera = Mid(testo, i, 1)
If n < 4 Then
If Vocale(lettera) = False Then
n = n + 1
tri = tri & lettera
End If
End If
Next i
codice_nome = Mid(tri, 1, 1) & Mid(tri, 3, 2)
Else
For i = 1 To Len(testo)
lettera = Mid(testo, i, 1)
If n < 3 Then
If Vocale(lettera) = False Then
codice_nome = codice_nome & lettera
n = n + 1
End If
End If
Next i
If n < 3 Then
For i = 1 To Len(testo)
lettera = Mid(testo, i, 1)
If n < 3 Then
If Vocale(lettera) = True Then
codice_nome = codice_nome & lettera
n = n + 1
End If
End If
Next i
End If
If n < 3 Then
For i = 1 To 3 - n
codice_nome = codice_nome & "X"
- 1 decennio fa
allora: per avere l'elenco di tutti i comuni italiani non puoi fare altro che scaricare dalla rete un db che li contenga tutti...ovviamente devi fare attenzione che oltre al nome del comune contenga anche il codice catastale del comune altrimenti te ne fai poco...per mantenerlo aggiornato ti basta cercare ogni tanto un db più aggiornato....ne trovi davvero molti in rete...comunque non è una cosa così frequente che nascano nuovi comuni o cose simili quindi...
per il programmino che ti calcola il codice fiscale ti potrei essere molto più di aiuto se mi dicessi che linguaggio vuoi usare (se mi dici anche il dbms ti do il linkper il db completo dei comuni) comunque la mia idea per fare questo sarebbe la seguente:
ti fai un programma in js per il calcolo del codice fiscale in moda da velocizzare il sito...ovviamente prima fai un controllo se il js abilitato o no...però il codice cacolato non sarà quello creato con js in quanto facilmente "trassabile" da mani esperte ma lo ricalcolerai quando si farà click per inviare tutti i dati del form.
se non hai voglia di scriverti il programma per il calcolo basta che cerchi in rete e ne trovi finchè vuoi in qualsiasi linguaggio!!
spero di esserti stato d'aiuto..