Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Discussione: codice fiscale

  1. #11
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    364

    errore calcolo codice fiscale

    Ciao raga, mi sono accorto che il calcolo viene sbagliato su nomi e cognomi corti tipo

    cognome: lupu
    nome: isa
    Data di Nascita: 26/01/1968
    Codice Erariale: romania
    sesso: f

    restituisce il codice LPU ISA 68A66 Z129 S invece quello corretto è LPU SIA 68A66 Z129 J

    Qualcuno già ha affrontato il problema ho conosce uno script + affidabile

    Grazie anticipatamente

  2. #12
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    364
    ok raga il problema lo dava con i nomi e cognomi lunghi 3 caratteri ho apportato delle modifiche al codice e ora sembra funzionare bene lo posto se vi può servire.

    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) > 0 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
    						' per il nome
    						stringa = left(stringa,1) & mid(stringa,3,1) & mid(stringa,4,1)
    					else
    						' ' per il cognome
    						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
    				' nel caso in cui nome o cognome è composto da tre carateri				
    			elseif len(stringa) = 3 then
    					
    					' elimino tutte le vocali
    					for i = 0 to uBound(vocali)
    						stringa = replace(stringa,vocali(i),"")
    					next
    					
    					' verifica se i tre caratteri sono tutte consonamnti
    					'*******************************************************
    					' una volta eliminate tutte le vocali verifico se la lunghezza della stringa è sempre 3 in questo caso vuyol dire che sono tutte consonanti e le prendo.
    					if len(stringa) = 3 then
    						stringa = stringaOriginale
    					end if 
    					'********************************************************
    					
    					' Caso in cui le consonanti sono inferiori a 3
    					'*******************************************************
    					if len(stringa) <= 2 then
    						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 
    					'********************************************************
    			' nel caso in cui nome o cognome è composto da - di tre carateri				
    			elseif len(stringa) < 3 then
    				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

  3. #13
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    55
    ragazzi, non dunziona il link cod db, non è che potete controllare??

    grazie

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    2,630
    Scusate se riapro questo post, ma il link al file indicato non sarà + attivo, potete postarmi un nuovo link?
    Grazie
    G.

  5. #15
    Utente bannato
    Registrato dal
    Aug 2011
    Messaggi
    5

    Calcolo del codice fiscale

    A mio avviso la soluzione (forse poco ortodossa) ma sicuramente più rapida e semplice è riadattare uno dei tantissimi script per il calcolo del codice fiscale presenti online, anche se in asp non so quanto ce ne siano. In alternativa esistono siti come no spam che offrono una sorta di embedded per incorporare nel tuo sito un generatore di codice fiscale personalizzato

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.