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

Messages postés
5
Date d'inscription
mercredi 6 février 2002
Dernière intervention
9 février 2005
- 3 nov. 2004 à 08:18 - Dernière réponse :
Messages postés
5
Date d'inscription
mercredi 6 février 2002
Dernière intervention
9 février 2005
- 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
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Dernière intervention
25 avril 2008
- 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é 87 internautes ce mois-ci

Commenter la réponse de rttb
Meilleure réponse
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Dernière intervention
25 avril 2008
- 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é 87 internautes ce mois-ci

Commenter la réponse de rttb
Messages postés
290
Date d'inscription
jeudi 26 août 2004
Dernière intervention
25 avril 2008
- 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
Messages postés
5
Date d'inscription
mercredi 6 février 2002
Dernière intervention
9 février 2005
- 3 nov. 2004 à 10:24
0
Merci
Slt.

Voici un n° siren valide :
783953151

@+.
Commenter la réponse de cs_bob2bob
Messages postés
35
Date d'inscription
vendredi 4 avril 2003
Dernière intervention
22 mai 2013
- 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
Messages postés
35
Date d'inscription
vendredi 4 avril 2003
Dernière intervention
22 mai 2013
- 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
Messages postés
5
Date d'inscription
mercredi 6 février 2002
Dernière intervention
9 février 2005
- 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
Messages postés
5
Date d'inscription
mercredi 6 février 2002
Dernière intervention
9 février 2005
- 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.