Calcule Numéro de Sécurité Sociale

Morocco13 Messages postés 18 Date d'inscription vendredi 21 avril 2006 Statut Membre Dernière intervention 29 décembre 2011 - 26 juin 2009 à 20:56
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 27 juin 2009 à 13:58
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>

Calcul de clé de numéro sécurité sociale

<form name=noss method="POST">
Code sexe (1 = homme, 2= femme) :

Annee naissance (2 derniers chiffres du millésime : 1980 ->80) :

Mois naissance (sur 2 chiffres : janvier = 01, décembre=12) :

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] :

Code Insee commune de naissance [sur 3 chiffres] :

Numéro d'ordre [sur 3 chiffres] :





Clé contrôle (2 chiffres) :


FONT color=#9acd32>
A voir également:

1 réponse

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 15
27 juin 2009 à 13:58
Bonjour,

>> 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é ?
oui.

>>est ce que quelqu'un peux me faire ça
euh.. on peut t'aider à faire, on ne te fera probablement pas
que n'arrives-tu pas à faire justement ?
dans ton exemple, tu as plusieurs champs, met en un seul
et regarde du coté de substr et/ou substring

Cordialement
0
Rejoignez-nous