Validité d'un numéro siren [Résolu]

cs_bob2bob 5 Messages postés mercredi 6 février 2002Date d'inscription 9 février 2005 Dernière intervention - 3 nov. 2004 à 08:18 - Dernière réponse : cs_bob2bob 5 Messages postés mercredi 6 février 2002Date d'inscription 9 février 2005 Dernière intervention
- 4 nov. 2004 à 07:33
Slt.
Je cherche à contrôler la validité d'un numéro siren dans un formulaire. J'ai trouvé ce script (ci-dessous), mais il semble rejetter TOUS les numéros siren, y compris les valides...Qq pour mayday ?
Merci.

<html>
<head>
<title>test siren</title>
<script language="javascript">
<!--
/**
* @name EstSirenValide
*
* @param Le code SIREN dont on veut vérifier la validité.
*
* @return Un booléen qui vaut 'true' si le code SIREN passé en
* paramètre est valide, false sinon.
*/
function EstSirenValide(siren) {
var estValide;
if ( (window.document.form1.siren.length != 9) || (isNaN(siren)) ) {
estValide = false;
alert ("Votre code siren n'est pas valable. Veuillez le ré-entrer SVP. Merci");
window.document.form1.siren.focus();
}
else {
// Donc le SIREN est un numérique à 9 chiffres
var somme = 0;
var tmp;
for (var cpt = 0; cpt<window.document.form1.siren.length; cpt++) {
if ((cpt % 2) == 1) { // Les positions paires : 2ème, 4ème, 6ème et 8ème chiffre
tmp = siren.charAt(cpt) * 2; // On le multiplie par 2
if (tmp > 9)
tmp -= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
}
else
tmp = siren.charAt(cpt);
somme += parseInt(tmp);
}
if ((somme % 10) == 0)
estValide = true; // Si la somme est un multiple de 10 alors le SIREN est valide
else
estValide = false;
alert ("Votre code siren n'est pas valable. Veuillez le réentrer SVP. Merci");
window.document.form1.siren.focus();
}
return estValide;
}
-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

SIREN
<form name="form1" method="post" action="" onsubmit="EstSirenValide(siren)">

</form>

</html>
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
rttb 290 Messages postés jeudi 26 août 2004Date d'inscription 25 avril 2008 Dernière intervention - 3 nov. 2004 à 14:13
3
Merci
le code revu et corrige ;)

<html>
<head>
<title>test siren</title>
<script language="javascript">
<!--
/**
* @name EstSirenValide
*
* @param Le code SIREN dont on veut vérifier la validité.
*
* @return Un booléen qui vaut 'true' si le code SIREN passé en
* paramètre est valide, false sinon.
*/
function EstSirenValide(sirenq) {
var estValide;
if ( (sirenq.length != 9) || (isNaN(sirenq)) ) {
estValide = false;
alert ("Votre code siren n'est pas valable. Veuillez le ré-entrer SVP. Merci");
window.document.form1.siren.focus();
}
else {
// Donc le SIREN est un numérique à 9 chiffres
var somme = 0;
var tmp;
for (var cpt = 0; cpt<sirenq.length; cpt++) {
if ((cpt % 2) == 1) { // Les positions paires : 2ème, 4ème, 6ème et 8ème chiffre
tmp = sirenq.charAt(cpt) * 2; // On le multiplie par 2
if (tmp > 9)
tmp -= 9; // Si le résultat est supérieur à 9, on lui soustrait 9
}
else
tmp = sirenq.charAt(cpt);
somme += parseInt(tmp);
}
if ((somme % 10) == 0) {
estValide = true; // Si la somme est un multiple de 10 alors le SIREN est valide
alert ("Votre code siren est valable. Merci");
}else {
estValide = false;
alert ("Votre code siren n'est pas valable. Veuillez le réentrer SVP. Merci");
window.document.form1.siren.focus(); }
}
return estValide;
}
-->
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

SIREN
<form name="form1" method="post" action="" onsubmit="EstSirenValide(siren.value)">

</form>

</html>

Merci rttb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de rttb
Meilleure réponse
rttb 290 Messages postés jeudi 26 août 2004Date d'inscription 25 avril 2008 Dernière intervention - 3 nov. 2004 à 16:06
3
Merci
siren est devenu sirenq pour eliminer le risque (potentiel, non verifie) d'interaction entre le nom de l'input type et la variable
la modif majeure est le passage de "siren.value" lors de l'appel de la fonction et non pas de siren qui se trouve etre un objet.

Merci rttb 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de rttb
rttb 290 Messages postés jeudi 26 août 2004Date d'inscription 25 avril 2008 Dernière intervention - 3 nov. 2004 à 09:21
0
Merci
peux-tu donner un numéro siren valide pour tester la validité du code
Commenter la réponse de rttb
cs_bob2bob 5 Messages postés mercredi 6 février 2002Date d'inscription 9 février 2005 Dernière intervention - 3 nov. 2004 à 10:24
0
Merci
Slt.

Voici un n° siren valide :
783953151

@+.
Commenter la réponse de cs_bob2bob
AFPA2003 35 Messages postés vendredi 4 avril 2003Date d'inscription 22 mai 2013 Dernière intervention - 3 nov. 2004 à 10:27
0
Merci
Pour le calcul de la cléf et explications :
voir sur :
http://www.dsi.cnrs.fr/conduite-projet/phasedeveloppement/technique/etude-detaillee/modele-de-donnees/regles-SIREN-SIRET.doc
ou sur :
http://www.google.fr/search?q=cache:iE3uF15n-_4J:www.dsi.cnrs.fr/conduite-projet/phasedeveloppement/technique/etude-detaillee/modele-de-donnees/regles-SIREN-SIRET.doc+siren&hl=fr&lr=lang_fr

D'autres infos, mais pas le mode de calcul de la clé :
http://www.motamot.com/zoompages/siret.html
http://www.sirene.tm.fr/pages/comprendre_concepts.asp?contenu=defnomenc#siren

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quand je ne dit rien, c'est que je ne sais pas.
Quand je demande c'est que je n'ai pas trouvé.
Quand je renseigne, c'est que le pense savoir
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commenter la réponse de AFPA2003
AFPA2003 35 Messages postés vendredi 4 avril 2003Date d'inscription 22 mai 2013 Dernière intervention - 3 nov. 2004 à 10:37
0
Merci
ici il est possible de vérifier la validité et l'existance d'un n°
http://www.cofacerating.fr/portail/recherche_entreprise_inter/recherche_entreprise.asp?metier=ALL&geo=ALL&idnav=dc3e5c19af007506e1f73f3c2118c56a&J=03/11/2004&H=10:28:25&tp=1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Quand je ne dit rien, c'est que je ne sais pas.
Quand je demande c'est que je n'ai pas trouvé.
Quand je renseigne, c'est que le pense savoir
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commenter la réponse de AFPA2003
cs_bob2bob 5 Messages postés mercredi 6 février 2002Date d'inscription 9 février 2005 Dernière intervention - 3 nov. 2004 à 15:26
0
Merci
Super !
Mais bon une question qd même :
Je ne suis pas très fort en javascript (en fait mon truc moi c les gaufres...) et je ne comprends pas pk siren et devenu sirenq ds ton script corrigé ?

En tous cas, merci et bravo !
Commenter la réponse de cs_bob2bob
cs_bob2bob 5 Messages postés mercredi 6 février 2002Date d'inscription 9 février 2005 Dernière intervention - 4 nov. 2004 à 07:33
0
Merci
Ben alors tout est dit, avec classe en plus. Encore merci Mr RoxxoR.#~D)
@+
Commenter la réponse de cs_bob2bob

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.