Newsgroup: it.comp.lang.javascript
Titolo: BioPagine.. e Codice Fiscale

BioPagine:
http://www.probo.it/Prove/bio/menu_cat.htm
Scrive Ele ..-->
http://www.probo.it/prove/Java/Lente/immagini/play.jpg
<--- questa è Ele!!! :) che dice..
Per le immagini ho messo delle lettere,...
Quello che dovrei riuscire a fare e', una volta arrivati
alla pagina
descr.htm, trasferire i dati che si trovano su questa pagina
nella pagina scheda.htm e ripetere questa operazione piu'
volte.
Inoltre la pagina scheda.htm deve dare la possibilita' di
eliminare un
eventuale riga inserita per errore.
... io trasferirei tutto su
www.probo.it/Prove/CestinoSpesa.htm
------------------------------------------------------------
-------------------------
CodiceFiscale:
www.probo.it/Prove/codFisc.htm
.....ho messo anche alcuni comuni, ma è un lavoraccio,
ce ne sono più di 8000!!!!!!!!!!!!!!!!!!
cmq. senza toccare il codice di Darius, se uno fa una
prova e fa finta di essere nato in un comune con la A
gli ritorna quasi il codice fiscale, è da aggiustare
il cognome, che ritorna due lettere invertite ed
il giorno della nascita...
cmq.  veramente veramente un buon lavoro,
domani se ho tempo ci guardo meglio...
..dimenticavo se uno ha la voglia di scaricarsi il .js
ci sono commentati gli altri 7800 comuni, ...
fosse mai che uno riesce con un trova e
sostituisci "furbo" a continuare quello
fatto per i primi 200...
--
Bye
Ro<*¿*>berto

 
www.probo.it/Prove/codFisc.htm
Complimenti per il lavoro fatto!!!
Solo 2 cose:
1) per il sesso metterei anche qui una listbox (o al limite dei radio
button; lo so, e' piu' scocciante, ma il layout e la facilita' d'uso da
parte dell'utente ne guadagnerebbero :-) ).
2) io ho problemi con la data di nascita: infatti (come spiegato in un post
precedente) il js mi ritorna il codice 72E08, mentre, essendo nato il
180572, dovrebbe essere 72E18 (comunque ho fatto delle prove e anche
mettendo 280572 e mi ritorna sempre 72E08, sembra che non riconosce i giorni
superiori al 9 del mese).
comunque ho provveduto a scaricarmi il file .js e gli daro' un'occhiata. Se
riusciro' a capirci qualcosa provero' a fare la sostituzione "furba" che
dici tu.
Magari cominciando dal basso, o da una determinata lettera (per non ripetere
il lavoro fatto da qualche altro volontario...)
--
ciao
gelty
--
Visita 
http://www.sifor.it
Elimina *toglimi* per le risposte

 il lavoro fatto da qualche altro volontario...)
L'ho finito!!!!!!!!!!!!!!!!! Cioe', in pratica tra codice e nome del paese,
invece della virgola ci ho messo __","__ mentre all'inizio di ogni riga ho
aggiunto __Array("__ e alla fine __"),__
Ho fatto bene?
Non ci crederete, ci ho messo nemmeno 5 minuti... con Word!
Ditemi a chi devo spedire il file e lo faccio immediatamente.
Un commento: il file e' grande 231 kb, non e' un po' grandicello? Se viene
inserito su un server un po' lento, ci mette piu' o meno una vita a
caricarsi... Quindi mi domandavo: e' vero, e' molto utile, ma alla fine, se
un utente non lo vede subito magari va via prima di utilizzarlo.


 un utente non lo vede subito magari va via prima di
utilizzarlo.
...se si vuole fare in locale è l'unico modo, .... poi non è
così
peso come dici, ho visto codici che mai avrei detto si
potessero
consultare via rete, funzionare...
l'ultimo visto era quello di Roberto o Edo con il
trovatore()
(alcuni msg. fa) un lavoro enorme, ma con risultati
sorprendentemente validi!


 in un post............č troppo lunga!!!
*** GRAZIE.... MI COMMUOVE TUTTO QUESTO!! ******
CIAPATE QUINDI QUESTA VERSIONE (nota la lunghezza del funzione per il
Codice di
controllo..........................................................)!!!!!!!!!!!!
		9 RIGHEEEEEE
stavolta ho superato me stesso!!
*********************************************************
*********************************************************
<html><head>
<script>
function getCtrlChar(cfp) {
   var sump = 0;
   var sumd = 0;
   var car = new
Array(1,0,5,7,9,13,15,17,19,21,2,4,18,20,11,3,6,8,12,14,16,10,22,25,24,23);
   for (var j=1;j<=13;j+=2) sump += cfp.charCodeAt(j)
   sump-=404;
   for (j=0;j<=4;j+=2) sumd += car[cfp.charCodeAt(j)-65];
   sumd += car[cfp.charCodeAt(6)-48] + car[cfp.charCodeAt(8)-65] +
car[cfp.charCodeAt(10)-48] + car[cfp.charCodeAt(12)-48] +
car[cfp.charCodeAt(14)-48];
    return (cfp+String.fromCharCode((sump+sumd)%26+65));
}
function getChars(strNome,isNome) {
   noSpaces = (strNome.replace(/(\s|\')/g, "")).toUpperCase();
   v = noSpaces.match(/[(a|e|i|o|u)]/gi);
   c = noSpaces.match(/[^(a|e|i|o|u)]/gi);
   if ((isNome)&&(c.length>=4)) c=(c.slice(0,1)).concat(c.slice(2))
   out = "";
   if (c) for (var j=0;(j<c.length)&&(j<3);j++) out+=c[j];
   for (var j=0;j<v.length;j++) out+=v[j];
   return((out+"X").substring(0,3));
}
function makeData(form) {
   var
giorno=parseInt(form.giorno.selectedIndex)+1+40*form.sesso.selectedIndex;
   var mese=form.mese.selectedIndex;
   var anno=form.anno.value%100;
 
return(anno+""+"ABCDEHLMPRST".charAt(mese)+""+((giorno<10)?"0":"")+giorno);
}
function rRun(form) {
   if (!(check(form.nome)||check(form.cognome)))
      form.result.value=getCtrlChar(getChars(form.cognome.value,false) +
getChars(form.nome.value,true) + makeData(form) + form.comune.value);
   else
      alert("Ricontrolla i campi");
}
function check(campoForm) {
   var ret = "";
   if (campoForm.value.match(/[^a-z\'\s]/gi)) {
      alert("Controlla bene il campo "+campoForm.name);
	  ret+="false";
   }
   return ret;
}
</script>
</head>
<body>
<form name="formina">
Cognome: <input name="cognome" size=20 value="Romagnoli"
onChange="(check(this))"><BR>
Nome: <input name="nome" size=20 value="Michele" onChange="check(this)">
Sesso: <SELECT NAME="sesso">
<OPTION SELECTED>M
<OPTION>F
</SCRIPT>
</SELECT><BR>
Nato il: <SELECT NAME="giorno">
<SCRIPT LANGUAGE="JavaScript">
   for (var j=1;j<=31;j++)
      document.write("<OPTION"+((j==22)?" SELECTED":"")+">"+j);
</SCRIPT>
</SELECT>
<SELECT NAME="mese">
<SCRIPT LANGUAGE="JavaScript">
   for (var j=1;j<=12;j++)
      document.write("<OPTION"+((j==3)?" SELECTED":"")+">"+j);
</SCRIPT>
</SELECT>
<input name="anno" size=4 value="1976">
Codice catastale: <input name="comune" size=30 value="Budrio"><BR>
<input type=button onclick="rRun(document.formina)" value="Calcola">
<input name="result" size=20>
</form>
<SCRIPT LANGUAGE="JavaScript">
</SCRIPT>
</body></html>
*********************************************************
*********************************************************
l' ho provato con 4 codici e sembra vada tutto bene... controllate i
vostri!!!
-- 
ciao --
-- sdrushi
/-------------------------------------------\
| \     Michele "Sdrushi" Romagnoli       / |
|  \          ICQ: 39783579              /  |
|   \___________________________________/   |
|                                           |
| 
http://caristudenti.cs.unibo.it/~romagnom
 |
|       
sdr...@comune.budrio.bo.it
         |
|     
roma...@cs.unibo.it
 (forwarded)      |
\-------------------------------------------/

 9 RIGHEEEEEE
Se continui cosě ti fanno presidente alla winZip!!
:)
--
Bye
Ro<*ż*>berto


penserai: "sto qua' e' meglio che metta del tabacco nelle sigarette.."
ma ho trovato una lista dei codici catastali e...... l'ho compressa con
il solito algoritmo Ziv-Lempel (quello dello ZIP..) e ho iniziato una
funzioncina che la decomprime... pero' sono gia' a 170 righe e mi sa'
che mollo tutto.... mi abbastanza schifo a dire il vero!
meglio il buon vecchio file di testo leggibile!!


il solito algoritmo Ziv-Lempel
Basta il codice che hai fatto, poi 8000 comuni (8600 la
versione aggiornata)
non sono impossibili da gestire, li ho suddivisi per
iniziali, e si caricano alla
richiesta ..........
............la mia era una battuta sul fatto che ci accordi
tutti i codici..........
;)
