Io ho un nome (es. Gianfranco) devo estrarre le consonanti per il Codice Fiscale e dato che me ne servono solo 3 estraggo le prime 4 consonanti (GNFR).
l'algoritmo del CF prevede che per il nome vengano prese la prima la terza e la quarta; quindi devo "eliminare" quella in posizione i=1 (N)
per adesso sono qui:
function estraiLnome()
{
let nome = jQuery("#nome").val().toUpperCase().replace(/ /g, '');// espressione regolare per rimuovere tutti gli spazi dalla stringa Francesca Romana => FrancescaRomana
let vocali = /^[aeiou]+$/i;
let Nv = [], Nc = [];
let i=0;
if(nome.length<3)
{nome = nome + "X";}
else{
for(i=0;i<nome.length;i++)
{
if (vocali.test(nome[i]))
{
Nv = Nv + nome[i];
}
else
if(Nc.length<4)
{
Nc = Nc + nome[i];
}
}
nome = Nc;i=0;
while(Nc.length<3)
{
nome = Nc[i]; i++;
}
}
//Nc = Nc.substring(0,1);
writeLn(nome);
}
quindi la var Nc = GNFR
ho provato con splice, slice, substring e Nc.substr ma non va...
approfitto per chiedere anche un'altra cosa:
ho più funzioni che saranno richiamate da un unico click
jQuery(function()
{jQuery("#btn_ok").click(estraiLcogn);
jQuery("#btn_ok").click(estraiLnome);}
);
ma cosi facendo la seconda chiamata si blocca alla prima istruzione che incontra: let nome = jQuery("#nome").val().toUpperCase().replace(/ /g, '');
premessa le due funzioni sono uguali se non per il fatto che per il nome devo fare quel controllo per l'eliminazione della seconda consonante.