6 messaggi dal 12 ottobre 2001
Cosa devo inserire all'inizio dello script dove c'è scritto:
'Valorizzare qui.
Andrea

il codice fiscale da controllare.

<hr color="#31659C" noshade size=1>
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>

ASP 3 per esempi il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
5 messaggi dal 21 ottobre 2015
Ecco un codice più compatto:
function checkcf(CodiceFiscale)  dim re  cf=ucase(CodiceFiscale)  set re=new regexp  re.pattern="^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$"  re.IgnoreCase = True  re.Global = True     if not re.Test(cf) then    checkcf=false    exit function  end if  set1="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"  set2="ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"  setpari="ABCDEFGHIJKLMNOPQRSTUVWXYZ"  setdisp="BAKPLCQDREVOSFTGUHMINJWZYX"  s=0  for i=2 to 14 step 2        s=s+instr(setpari,mid(set2,instr(set1,mid(cf,i,1)),1))-1  next  for i=1 to 15 step 2      s=s+instr(setdisp,mid(set2,instr(set1,mid(cf,i,1)),1))-1  next  if s mod 26<>asc(mid(cf,16,1))-asc("A") then    checkcf=false    exit function  end if     checkcf=trueend function
5 messaggi dal 21 ottobre 2015
Ecco un codice più compatto (forse così si vede meglio):

function checkcf(CodiceFiscale)
dim re
cf=ucase(CodiceFiscale)
set re=new regexp
re.pattern="^[A-Z]{6}\d{2}[A-Z]\d{2}[A-Z]\d{3}[A-Z]$"
re.IgnoreCase = True
re.Global = True
if not re.Test(cf) then
checkcf=false
exit function
end if
set1="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
set2="ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ"
setpari="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
setdisp="BAKPLCQDREVOSFTGUHMINJWZYX"
s=0
for i=2 to 14 step 2
s=s+instr(setpari,mid(set2,instr(set1,mid(cf,i,1)),1))-1
next
for i=1 to 15 step 2
s=s+instr(setdisp,mid(set2,instr(set1,mid(cf,i,1)),1))-1
next
if s mod 26<>asc(mid(cf,16,1))-asc("A") then
checkcf=false
exit function
end if
checkcf=true
end function
5 messaggi dal 21 ottobre 2015
E per supportare l'omocodia di alcuni CF, basta sostituire l'espressione regolare con questa:

cfReg.Pattern="^(?:[B-DF-HJ-NP-TV-Z](?:[AEIOU]{2}|[AEIOU]X)|[AEIOU]{2}X|[B-DF-HJ-NP-TV-Z]{2}[A-Z]){2}[\dLMNP-V]{2}(?:[A-EHLMPR-T](?:[04LQ][1-9MNP-V]|[1256LMRS][\dLMNP-V])|[DHPS][37PT][0L]|[ACELMRT][37PT][01LM])(?:[A-MZ][1-9MNP-V][\dLMNP-V]{2}|[A-M][0L](?:[\dLMNP-V][1-9MNP-V]|[1-9MNP-V][0L]))[A-Z]$"
2 messaggi dal 16 gennaio 2020
Segnalo che lo strumento di verifica del Codice Fiscale offerto dell'AdE è accessibile anche tramite web-service, quindi i software possono effettuare la verifica del C.F. direttamente in Anagrafe Tributaria, evitando falsi positivi in caso di omocodia.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.