IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Blindage sur code APE / SIRET / Date


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 95
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    #  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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <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 !

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    regarde du cité des expression regulières

    si tu nous montres les formats souhaités ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 95
    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...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    ^([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})$
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    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.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    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)

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    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 ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. [CR]Aide sur les fonction de date et plage de date.
    Par Job dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 08/11/2005, 09h19
  2. [Format Date] erreur sur insertion d'une date
    Par philobedo dans le forum SQL
    Réponses: 4
    Dernier message: 14/06/2005, 10h41
  3. Requete SQL sur table dbase et date du jour
    Par Jean-François PETIT dans le forum Bases de données
    Réponses: 5
    Dernier message: 29/03/2005, 09h31
  4. Critères sur champ de type date
    Par blasco dans le forum Access
    Réponses: 2
    Dernier message: 29/10/2004, 09h48
  5. Tri sur code hiérarchique
    Par cafou33 dans le forum SQL
    Réponses: 5
    Dernier message: 22/03/2004, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo