Ciao raga,
sto cercando ovunque un generatore in asp - di cofice fiscale -
ho trovato moltissime discussioni a riguardo .. ma nulla di concreto.
non è che sapete come / dove trovarlo ?
![]()
Ciao raga,
sto cercando ovunque un generatore in asp - di cofice fiscale -
ho trovato moltissime discussioni a riguardo .. ma nulla di concreto.
non è che sapete come / dove trovarlo ?
![]()
L'ho fatto fresco fresco...
L'unica cosa che manca è la select (o combo) per la scelta del comune o stato estero di nascita la quale come value deve passare il proprio codice erariale.
Io, per comodità, ho messo una casella di testo.
Voi dovete invece mettere la select (o combo) con name="codice".
Ad esempio:
Ecco il codice (testatelo e fatemi sapere):codice:<select name="codice" id="codice"> <option value="H501">Roma</option> <option value="F205">Milano</option> </select>
codice:<% pagina = request.serverVariables("PATH_INFO") submit = request.serverVariables("REQUEST_METHOD") = "POST" if submit then nome = request.form("nome") nn = uCase(nome) cognome = request.form("cognome") cc = uCase(cognome) data = request.form("data") genere = request.form("genere") codice = request.form("codice") codice = uCase(codice) if len(nome) > 2 and len(cognome) > 0 and isDate(data) and len(codice) = 4 then nome = uCase(nome) nome = replace(nome,"'","") nome = replace(nome," ","") cognome = uCase(cognome) cognome = replace(cognome,"'","") cognome = replace(cognome," ","") vocali = array("A","E","I","O","U") dim mesi(12) mesi(0) = null mesi(1) = "A" mesi(2) = "B" mesi(3) = "C" mesi(4) = "D" mesi(5) = "E" mesi(6) = "H" mesi(7) = "L" mesi(8) = "M" mesi(9) = "P" mesi(10) = "R" mesi(11) = "S" mesi(12) = "T" function caratteriValidi(stringa) for i = 1 to len(stringa) caratteriValidi = false for j = 65 to 90 if mid(stringa,i,1) = chr(j) then caratteriValidi = true exit for end if next if not caratteriValidi then exit for next end function function fixStringa(stringa,salto) stringaOriginale = stringa if len(stringa) > 3 then for i = 0 to uBound(vocali) stringa = replace(stringa,vocali(i),"") next if len(stringa) > 3 then if salto = true then stringa = left(stringa,1) & mid(stringa,3,1) & mid(stringa,4,1) else stringa = left(stringa,1) & mid(stringa,2,1) & mid(stringa,3,1) end if elseIf len(stringa) = 3 then stringa = stringa else for i = 1 to len(stringaOriginale) for j = 0 to uBound(vocali) if mid(stringaOriginale,i,1) = vocali(j) then stringa = stringa & vocali(j) exit for end if next if len(stringa) = 3 then exit for next end if else lunghezzaStringa = len(stringa) for x = lunghezzaStringa to 2 stringa = stringa & "X" next end if fixStringa = stringa end function function fixData(data,genere) giorno = datePart("d",data) if genere = "F" then giorno = giorno + 40 if giorno < 10 then giorno = "0" & giorno mese = mesi(datePart("m",data)) anno = right(datePart("yyyy",data),2) fixData = anno & mese & giorno end function function carattereControllo(stringa) if len(stringa) = 15 then somma = 0 for d = 1 to 15 step 2 carattereTemporaneo = mid(stringa,d,1) select case carattereTemporaneo case "0","A" somma = somma + 1 case "1","B" somma = somma + 0 case "2","C" somma = somma + 5 case "3","D" somma = somma + 7 case "4","E" somma = somma + 9 case "5","F" somma = somma + 13 case "6","G" somma = somma + 15 case "7","H" somma = somma + 17 case "8","I" somma = somma + 19 case "9","J" somma = somma + 21 case "K" somma = somma + 2 case "L" somma = somma + 4 case "M" somma = somma + 18 case "N" somma = somma + 20 case "O" somma = somma + 11 case "P" somma = somma + 3 case "Q" somma = somma + 6 case "R" somma = somma + 8 case "S" somma = somma + 12 case "T" somma = somma + 14 case "U" somma = somma + 16 case "V" somma = somma + 10 case "W" somma = somma + 22 case "X" somma = somma + 25 case "Y" somma = somma + 24 case "Z" somma = somma + 23 end select next for p = 2 to 14 step 2 carattereTemporaneo = mid(stringa,p,1) select case carattereTemporaneo case "0","A" somma = somma + 0 case "1","B" somma = somma + 1 case "2","C" somma = somma + 2 case "3","D" somma = somma + 3 case "4","E" somma = somma + 4 case "5","F" somma = somma + 5 case "6","G" somma = somma + 6 case "7","H" somma = somma + 7 case "8","I" somma = somma + 8 case "9","J" somma = somma + 9 case "K" somma = somma + 10 case "L" somma = somma + 11 case "M" somma = somma + 12 case "N" somma = somma + 13 case "O" somma = somma + 14 case "P" somma = somma + 15 case "Q" somma = somma + 16 case "R" somma = somma + 17 case "S" somma = somma + 18 case "T" somma = somma + 19 case "U" somma = somma + 20 case "V" somma = somma + 21 case "W" somma = somma + 22 case "X" somma = somma + 23 case "Y" somma = somma + 24 case "Z" somma = somma + 25 end select next somma = somma mod 26 select case somma case 0 carattereControllo = "A" case 1 carattereControllo = "B" case 2 carattereControllo = "C" case 3 carattereControllo = "D" case 4 carattereControllo = "E" case 5 carattereControllo = "F" case 6 carattereControllo = "G" case 7 carattereControllo = "H" case 8 carattereControllo = "I" case 9 carattereControllo = "J" case 10 carattereControllo = "K" case 11 carattereControllo = "L" case 12 carattereControllo = "M" case 13 carattereControllo = "N" case 14 carattereControllo = "O" case 15 carattereControllo = "P" case 16 carattereControllo = "Q" case 17 carattereControllo = "R" case 18 carattereControllo = "S" case 19 carattereControllo = "T" case 20 carattereControllo = "U" case 21 carattereControllo = "V" case 22 carattereControllo = "W" case 23 carattereControllo = "X" case 24 carattereControllo = "Y" case 25 carattereControllo = "Z" end select end if end function A = fixStringa(cognome,false) B = fixStringa(nome,true) C = fixData(data,genere) D = carattereControllo(A & B & C & codice) codiceFiscale = A & B & C & codice & D else codiceFiscale = "Dai non validi" end if end if %> <form method="post" action="<%=pagina%>"> <label for="cognome">Cognome</label> <input type="text" name="cognome" id="cognome" value="<%=cc%>" /> </p> <label for="nome">Nome</label> <input type="text" name="nome" id="nome" value="<%=nn%>" /> </p> <label for="data">Data di Nascita (GG/MM/AAAA)</label> <input type="text" name="data" id="data" value="<%=data%>" size="12" /> </p> <label for="genere">Sesso</label> <select name="genere" id="genere"> <option value="M">Maschio</option> <option value="F">Femmina</option> </select> </p> <label for="codice">Codice Erariale</label> <input type="text" name="codice" id="codice" value="<%=codice%>" size="4" /> </p> <input type="submit" value="INVIA" /> </p> <label for="codicefiscale">Codice Fiscale</label> <input type="text" id="codicefiscale" readonly="readonly" value="<%=uCase(codiceFiscale)%>" size="16" /> </p> </form>
funziona!
solo una domanda ..sai anche dove trovare un db con tutti i codici delle città ?![]()
No.Originariamente inviato da cuollins
funziona!
solo una domanda ..sai anche dove trovare un db con tutti i codici delle città ?![]()
Se lo sapevo lo mettevo.
Prova sul sito delle poste italiane...
wuazz, velocità chat.
grazie![]()
se lo trovo lo posto
Ho realizzato il db.
Ho "catturato" una pagina che aveva le option in una select, le ho importate in un file xml e poi dentro ad un db access 2007.
La tabella si chiama comuni con i campi ID - contatore; codiceErariale - testo(4) - comune - testo(255)
Questo è il codice con la combo dei coumuni caricata da db:
codice:<% pagina = request.serverVariables("PATH_INFO") submit = request.serverVariables("REQUEST_METHOD") = "POST" if submit then nome = request.form("nome") nn = uCase(nome) cognome = request.form("cognome") cc = uCase(cognome) data = request.form("data") genere = request.form("genere") codice = request.form("codice") codice = uCase(codice) if len(nome) > 2 and len(cognome) > 0 and isDate(data) and len(codice) = 4 then nome = uCase(nome) nome = replace(nome,"'","") nome = replace(nome," ","") cognome = uCase(cognome) cognome = replace(cognome,"'","") cognome = replace(cognome," ","") vocali = array("A","E","I","O","U") dim mesi(12) mesi(0) = null mesi(1) = "A" mesi(2) = "B" mesi(3) = "C" mesi(4) = "D" mesi(5) = "E" mesi(6) = "H" mesi(7) = "L" mesi(8) = "M" mesi(9) = "P" mesi(10) = "R" mesi(11) = "S" mesi(12) = "T" function caratteriValidi(stringa) for i = 1 to len(stringa) caratteriValidi = false for j = 65 to 90 if mid(stringa,i,1) = chr(j) then caratteriValidi = true exit for end if next if not caratteriValidi then exit for next end function function fixStringa(stringa,salto) stringaOriginale = stringa if len(stringa) > 3 then for i = 0 to uBound(vocali) stringa = replace(stringa,vocali(i),"") next if len(stringa) > 3 then if salto = true then stringa = left(stringa,1) & mid(stringa,3,1) & mid(stringa,4,1) else stringa = left(stringa,1) & mid(stringa,2,1) & mid(stringa,3,1) end if elseIf len(stringa) = 3 then stringa = stringa else for i = 1 to len(stringaOriginale) for j = 0 to uBound(vocali) if mid(stringaOriginale,i,1) = vocali(j) then stringa = stringa & vocali(j) exit for end if next if len(stringa) = 3 then exit for next end if else lunghezzaStringa = len(stringa) for x = lunghezzaStringa to 2 stringa = stringa & "X" next end if fixStringa = stringa end function function fixData(data,genere) giorno = datePart("d",data) if genere = "F" then giorno = giorno + 40 if giorno < 10 then giorno = "0" & giorno mese = mesi(datePart("m",data)) anno = right(datePart("yyyy",data),2) fixData = anno & mese & giorno end function function carattereControllo(stringa) if len(stringa) = 15 then somma = 0 for d = 1 to 15 step 2 carattereTemporaneo = mid(stringa,d,1) select case carattereTemporaneo case "0","A" somma = somma + 1 case "1","B" somma = somma + 0 case "2","C" somma = somma + 5 case "3","D" somma = somma + 7 case "4","E" somma = somma + 9 case "5","F" somma = somma + 13 case "6","G" somma = somma + 15 case "7","H" somma = somma + 17 case "8","I" somma = somma + 19 case "9","J" somma = somma + 21 case "K" somma = somma + 2 case "L" somma = somma + 4 case "M" somma = somma + 18 case "N" somma = somma + 20 case "O" somma = somma + 11 case "P" somma = somma + 3 case "Q" somma = somma + 6 case "R" somma = somma + 8 case "S" somma = somma + 12 case "T" somma = somma + 14 case "U" somma = somma + 16 case "V" somma = somma + 10 case "W" somma = somma + 22 case "X" somma = somma + 25 case "Y" somma = somma + 24 case "Z" somma = somma + 23 end select next for p = 2 to 14 step 2 carattereTemporaneo = mid(stringa,p,1) select case carattereTemporaneo case "0","A" somma = somma + 0 case "1","B" somma = somma + 1 case "2","C" somma = somma + 2 case "3","D" somma = somma + 3 case "4","E" somma = somma + 4 case "5","F" somma = somma + 5 case "6","G" somma = somma + 6 case "7","H" somma = somma + 7 case "8","I" somma = somma + 8 case "9","J" somma = somma + 9 case "K" somma = somma + 10 case "L" somma = somma + 11 case "M" somma = somma + 12 case "N" somma = somma + 13 case "O" somma = somma + 14 case "P" somma = somma + 15 case "Q" somma = somma + 16 case "R" somma = somma + 17 case "S" somma = somma + 18 case "T" somma = somma + 19 case "U" somma = somma + 20 case "V" somma = somma + 21 case "W" somma = somma + 22 case "X" somma = somma + 23 case "Y" somma = somma + 24 case "Z" somma = somma + 25 end select next somma = somma mod 26 select case somma case 0 carattereControllo = "A" case 1 carattereControllo = "B" case 2 carattereControllo = "C" case 3 carattereControllo = "D" case 4 carattereControllo = "E" case 5 carattereControllo = "F" case 6 carattereControllo = "G" case 7 carattereControllo = "H" case 8 carattereControllo = "I" case 9 carattereControllo = "J" case 10 carattereControllo = "K" case 11 carattereControllo = "L" case 12 carattereControllo = "M" case 13 carattereControllo = "N" case 14 carattereControllo = "O" case 15 carattereControllo = "P" case 16 carattereControllo = "Q" case 17 carattereControllo = "R" case 18 carattereControllo = "S" case 19 carattereControllo = "T" case 20 carattereControllo = "U" case 21 carattereControllo = "V" case 22 carattereControllo = "W" case 23 carattereControllo = "X" case 24 carattereControllo = "Y" case 25 carattereControllo = "Z" end select end if end function A = fixStringa(cognome,false) B = fixStringa(nome,true) C = fixData(data,genere) D = carattereControllo(A & B & C & codice) codiceFiscale = A & B & C & codice & D else codiceFiscale = "Dai non validi" end if end if %> <form method="post" action="<%=pagina%>"> <label for="cognome">Cognome</label> <input type="text" name="cognome" id="cognome" value="<%=cc%>" /> </p> <label for="nome">Nome</label> <input type="text" name="nome" id="nome" value="<%=nn%>" /> </p> <label for="data">Data di Nascita (GG/MM/AAAA)</label> <input type="text" name="data" id="data" value="<%=data%>" size="12" /> </p> <label for="genere">Sesso</label> <select name="genere" id="genere"> <option value="M">Maschio</option> <option value="F">Femmina</option> </select> </p> <label for="codice">Codice Erariale</label> <% set conn = server.createObject("ADODB.Connection") conn.open "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & server.mapPath("\publish\comuni.mdb") sql = "SELECT codiceErariale, comune FROM comuni ORDER BY comune" set rs = server.createObject("ADODB.Recordset") rs.open "comuni", conn, 0, 1 if not rs.eof then %> <select name="codice" id="codice"> <option value="">SELEZIONA</option> <% do until rs.eof %> <option value="<%=rs("codiceErariale")%>"><%=rs("comune")%></option> <% rs.moveNext loop %> </select> <% end if rs.close set rs = nothing conn.close set conn = nothing %> </p> <input type="submit" value="INVIA" /> </p> <label for="codicefiscale">Codice Fiscale</label> <input type="text" id="codicefiscale" readonly="readonly" value="<%=uCase(codiceFiscale)%>" size="16" /> </p> </form>
mems è grande il codice ! ..puoi postare anche il db? io da ieri non sono riuscito ancora a trovarlo![]()
Grazie mems!
![]()
Il DB Access è fatto con il 2007 e la stringa di connessione è per il 2007.
Lo zip contiene:
codicefiscale.asp - la pagina per creare il codice fiscale
comuni.mdb - il db dei comuni con il codice erariale
comuni.xml - la struttura dei comuni su file xml
xml2db.asp - server per popolare il db access partendo dal file xml
I primi due file sono quelli utili. Gli altri non tanto.