Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: codice fiscale

  1. #1
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112

    codice fiscale

    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 ?


  2. #2
    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:
    codice:
    <select name="codice" id="codice">
      <option value="H501">Roma</option>
      <option value="F205">Milano</option>
    </select>
    Ecco il codice (testatelo e fatemi sapere):
    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>

  3. #3
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112

    grande! :)

    funziona!
    solo una domanda ..sai anche dove trovare un db con tutti i codici delle città ?

  4. #4

    Re: grande! :)

    Originariamente inviato da cuollins
    funziona!
    solo una domanda ..sai anche dove trovare un db con tutti i codici delle città ?
    No.
    Se lo sapevo lo mettevo.
    Prova sul sito delle poste italiane...

  5. #5
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    wuazz, velocità chat.
    grazie
    se lo trovo lo posto

  6. #6
    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>

  7. #7
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    mems è grande il codice ! ..puoi postare anche il db? io da ieri non sono riuscito ancora a trovarlo

  8. #8

  9. #9
    Utente bannato
    Registrato dal
    Nov 2005
    Messaggi
    112
    Grazie mems!

  10. #10
    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.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.