Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire Cours JavaScript, FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 01/07/2009, 11h47   #1 (permalink)
Futur Membre du Club
 
Date d'inscription: juin 2008
Messages: 31
Par défaut Blindage sur code APE / SIRET / Date

Bonjour,

Je viens à vous pour savoir s'il existe un code javascript pour vérifier la conformité d'un code NAF / APE ? Du genre il y a 4 chiffres et 1 lettre dans le code ?

De même pour le SIRET, j'ai trouvé un petit algorithme sur le net (Algo de Lhun) qui résout ce problème :

Code :
#  function EstSiretValide(siret) {
# var estValide;
# if ( (siret.length != 14) || (isNaN(siret)) )
# estValide = false;
# else {
# // Donc le SIRET est un numérique à 14 chiffres
# // Les 9 premiers chiffres sont ceux du SIREN (ou RCS), les 4 suivants
# // correspondent au numéro d'établissement
# // et enfin le dernier chiffre est une clef de LUHN.
# var somme = 0;
# var tmp;
# for (var cpt = 0; cpt<siret.length; cpt++) {
# if ((cpt % 2) == 0) { // Les positions impaires : 1er, 3è, 5è, etc...
# tmp = siret.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 = siret.charAt(cpt);
# somme += parseInt(tmp);
# }
# if ((somme % 10) == 0)
# estValide = true; // Si la somme est un multiple de 10 alors le SIRET est valide
# else
# estValide = false;
# }
# return estValide;
# }
 
Etant encore débutant en JS je ne sais pas correctement l'intégrer, le but est de vérifier si le SIRET est valide lorsque j'envoie le formulaire, seulement j'ai déjà un attribut onSubmit dans mon formulaire.

En réalité je souhaite qu'une alerte s'affiche si cette condition n'est pas remplie sur mon input, comment faire ?

Enfin dernier soucis, dans mon code je propose de rentrer une date et j'ai trois input text :

Code :
 									
<input id="date_dd" name="date_dd" class="element text" size="2" maxlength="2" value="<<AA>>" type="text"> /
<label for="date_dd">JJ</label>
<input id="date_mm" name="date_mm" class="element text" size="2" maxlength="2" value="<<MM>>" type="text"> /
<label for="date_mm">MM</label>
<input id="date_yy" name="date_yy" class="element text" size="4" maxlength="4" value="<<YYYY>>" type="text">
<label for="date_yy">AAAA</label>	
 
Je souhaite blinder mon code pour vérifier que ces dates sont cohérentes et que les gens ne rentrent pas des valeurs supérieurs à 31 pour les jours et supérieurs à 12 pour les mois, inférieur à 2009 pour les années.

Est-ce que vous auriez une idée de comment faire ?

Merci d'avance de l'aide que vous pourrez m'apporter, je vous en serais très reconnaissant !

Et bonne journée pour ceux qui travaillent avec une chaleur pareil !
Goffer est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 12h11   #2 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 650
Par défaut

regarde du cité des expression regulières

si tu nous montres les formats souhaités ...
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 12h53   #3 (permalink)
Futur Membre du Club
 
Date d'inscription: juin 2008
Messages: 31
Par défaut

Salut merci de ta réponse mais je n'ai pas bien compris...

Pour mon expression régulière sur le code APE / NACE il faut que je test si le code rentré fait 5 caractères et parmi eux 4 doivent être des chiffres et 1 doit être une lettre. Mais je ne vois pas du tout comment faire...
Goffer est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 14h11   #4 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 650
Par défaut

J'ai pas eu le temps de creuser il doit y avoir plus court mais au pied de biche ça peut donner ça :

Code :
^([a-z]{4}[0-9]{1}|[a-z]{3}[0-9]{1}[a-z]{1}|[a-z]{2}[0-9]{1}[a-z]{2}|[a-z]{1}[0-9]{1}[a-z]{3}|[0-9]{1}[a-z]{4})$
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 14h20   #5 (permalink)
Membre expérimenté
 
Date d'inscription: mars 2002
Âge: 38
Messages: 547
Par défaut

Salut,

Pour les dates je veux bien, les expression régulières sont bien adaptées mais par contre pour le SIRET/SIREN dont la vérification est une sorte de checksum il n'est à mon avis pas possible de se passer de l'algorithme de Lhun.

devyan.
devyan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 14h24   #6 (permalink)
Membre expérimenté
 
Date d'inscription: mars 2002
Âge: 38
Messages: 547
Par défaut

concernant les codes APE/NAF/NACE une petite recherche sur Wikipedia te donnerais déjà un bon aperçu du format exact des différents codes (avec en plus des liens sur les sites des normes en question)
devyan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 01/07/2009, 14h27   #7 (permalink)
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 650
Par défaut

non les expressions régulières ne sont pas adaptées pour les dates, elle ne peuvent pas prendre en comptes les mois à 30 31 ou 27 jours et encore moins les années bissextiles ...

la regExp ne fait que verifier le format et non la validité du code selon les algos de vérification
il existe des alogo de verification de validité sur le net ...
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts )
Citation:
Deux règles du succès:
1) Ne communiquez jamais à quelqu'un tout votre savoir...

Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag

réalisations web (developpeur et/ou infographiste et/ou chef de projet:
www.saftair.com| www.ouestisol.fr | www.sebemex.fr
| www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation
NEWS JAVASCRIPTF.A.Q JSTUTORIELS JSSOURCES JSLIVRES JS

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 14h33.


Vos questions techniques : forum d'entraide JavaScript - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.