cs_bob2bob
Messages postés5Date d'inscriptionmercredi 6 février 2002StatutMembreDernière intervention 9 février 2005
-
3 nov. 2004 à 08:18
cs_bob2bob
Messages postés5Date d'inscriptionmercredi 6 février 2002StatutMembreDerniè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>
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 3 nov. 2004 à 14:13
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>
rttb
Messages postés290Date d'inscriptionjeudi 26 août 2004StatutMembreDernière intervention25 avril 2008 3 nov. 2004 à 16:06
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cs_bob2bob
Messages postés5Date d'inscriptionmercredi 6 février 2002StatutMembreDernière intervention 9 février 2005 3 nov. 2004 à 15:26
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é ?