Bonjour, ci-dessous un code qui calcule la clé du numéro de sécurité sociale français.
Il n'y a aucun problème dans le code, mais ma question serait donc : est ce possible qu'il n'y aura qu'un seul champs à remplir qui contiendra tout le numéro de la sécurité sociale à qui on cherche la clé ?
Si oui, est ce que quelqu'un peux me faire ça, je serait très reconnaissante.
Merci d'avance.
- Morocco13 -
Le code :
<SCRIPT LANGUAGE="JavaScript">
function litnombre(aChaineNombre)
{
// retire les espaces les points et autres caractères différents des nombres
var li=0;
var lChaine=""+aChaineNombre;
while (li<eval(lChaine.length))
{
if (lChaine.charCodeAt(li)<48 || lChaine.charCodeAt(li)>57)
{
lChaine=lChaine.substring(0,li)+lChaine.substring(li+1,lChaine.length);
li--;
}
li++;
}
return lChaine;
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function litnombreDpt(aChaineNombre)
{
// retire les espaces les points et autres caractères différents des nombres
// pour les lettres A à B, remplacement par un nombre 0 et affectation d'une variable globale
var li=0;
var lNb;
var lChaine=""+aChaineNombre;
document.forms[0].CodeDpt=0;
while (li<eval(lChaine.length))
{
if (lChaine.charCodeAt(li)<48 || lChaine.charCodeAt(li)>57)
{
if (lChaine.charCodeAt(li)>=65 || lChaine.charCodeAt(li)<=66)
{
lNb=lChaine.charCodeAt(li)-64;
if (lNb>=2)
{
document.forms[0].CodeDpt=2;
}
if (lNb<=1)
{
document.forms[0].CodeDpt=1;
}
lChar="0";
lChaine=lChaine.substring(0,li)+lChar+lChaine.substring(li+1,lChaine.length);
}
else
{
if (lChaine.charCodeAt(li)>=97 || lChaine.charCodeAt(li)<=98)
{
lNb=lChaine.charCodeAt(li)-96;
if (lNb>=2)
{
document.forms[0].CodeDpt=2;
}
if (lNb<=1)
{
document.forms[0].CodeDpt=1;
}
lChar="0";
lChaine=lChaine.substring(0,li)+lChar+lChaine.substring(li+1,lChaine.length);
}
else
{
// on retire le caractère indésirable
lChaine=lChaine.substring(0,li)+lChaine.substring(li+1,lChaine.length);
li--;
}
}
}
li++;
}
return lChaine;
}
function fCalcNoSS(acodesexe, acodeannee, acodemois, acodedpt, acodecommune, anoordre)
{
var lcodesexe, lcodeannee, lcodemois, lcodedpt, lcodecommune, lnoordre;
var lNir , lNumNir;
var lCodeNum;
// retire les espaces les points et autres caractères différents des nombres
lcodesexe=litnombre(acodesexe);
lcodeannee=litnombre(acodeannee);
lcodemois=litnombre(acodemois);
lcodedpt=litnombreDpt(acodedpt);
lcodecommune=litnombre(acodecommune);
lnoordre=litnombre(anoordre);
if (lcodesexe.length!=1)
{
alert("Le code sexe n'a pas 1 chiffre");
return "";
}
else
{
if (lcodesexe!=1 && lcodesexe!=2)
{
alert("Le code sexe est normalement égal à 1 ou 2, on continue quand même (numéro temporaire)");
// return "";
}
}
if (lcodeannee.length!=2)
{
alert("Le code année n'a pas 2 chiffres");
return "";
}
if (lcodemois.length!=2)
{
alert("Le code mois n'a pas 2 chiffres");
return "";
}
if (lcodedpt.length!=2)
{
alert("Le code département n'a pas 2 chiffres");
return "";
}
if (lcodecommune.length!=3)
{
alert("Le code commune n'a pas 3 chiffres");
return "";
}
if (lnoordre.length!=3)
{
alert("Le numéro d'ordre n'a pas 3 chiffres");
return "";
}
lNir=lcodesexe+lcodeannee+lcodemois+lcodedpt+lcodecommune+lnoordre;
// alert(lNir);
lNumNir=parseFloat(lNir);
if (document.forms[0].CodeDpt==2)
{
lNumNir=lNumNir-2000000;
}
if (document.forms[0].CodeDpt==1)
{
lNumNir=lNumNir-1000000;
}
lCodeNum=97-(lNumNir % 97);
return lCodeNum;
}
</SCRIPT>
<A NAME=noss>
<H2>Calcul de clé de numéro sécurité sociale</H2>
<P>
<form name=noss method="POST">
Code sexe (1 = homme, 2= femme) : <INPUT TYPE=TEXT NAME=codesexe SIZE=1 VALUE="">
<BR>
Annee naissance (2 derniers chiffres du millésime : 1980 ->80) : <INPUT TYPE=TEXT NAME=codeannee SIZE=2 VALUE="">
<BR>
Mois naissance (sur 2 chiffres : janvier = 01, décembre=12) : <INPUT TYPE=TEXT NAME=codemois SIZE=2 VALUE="">
<BR>
Code département naissance [sur 2 chiffres ou lettres, exemple 75 pour Paris, 99 pour l'étranger, 2A pour la Corse du Sud et 2B pour la Corse du Nord] : <INPUT TYPE=TEXT NAME=codedpt SIZE=2 VALUE="">
<BR>
Code Insee commune de naissance [sur 3 chiffres] : <INPUT TYPE=TEXT NAME=codecommune SIZE=3 VALUE="">
<BR>
Numéro d'ordre [sur 3 chiffres] : <INPUT TYPE=TEXT NAME=noordre SIZE=3 VALUE="">
<BR>
<INPUT TYPE="button"
VALUE="Trouvez Clé de controle" onclick="this.form.clecontroless.value=fCalcNoSS(this.form.codesexe.value, this.form.codeannee.value, this.form.codemois.value, this.form.codedpt.value, this.form.codecommune.value, this.form.noordre.value)">
<BR>
Clé contrôle (2 chiffres) : <INPUT TYPE=TEXT NAME=clecontroless SIZE=2 VALUE="">
FONT color=#9acd32>