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 :

regexp heure JS


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut regexp heure JS
    bonjour,

    je souhaiterais faire une verif de mon champ heure afin qu'il soit bien dans la bonne forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     var heure=new RegExp("^[0-9]{6});
     
    	if(document.enregistrement.heure.value !="" && !exp.test(document.enregistrement.heure.value)){
    	alert("Saisie non valide de l'heure");
    	return false;
    Je suis débutant en JS

    j'ai commencé mais je n'arrive pas a continuer pouvez vous m'aider svp?

    merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    je fais ce post pour dire qu'il est toujours d'actualité si quelqu'un pourait m'aider se serait sympa merci

    j'ai fait ca en attendant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     if(document.enregistrement.heure.value("^[0-9]{2}:[0-9]{2}:[0-9]{2}$"))
    est ce que ca suffit vous pensez?
    est ce qu'il ne faudrait pas faire un autre truc pour que l'heure ne dépasse pas 24 h ou 60 min ou sec??

  3. #3
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Ce que teste ta regexp pour le moment, c'est que les données sont bien de la forme "XX.XX.XX" où chaque "X" ne peut être qu'un chiffre.
    C'est déjà pas mal. Mais effectivement si tu veux vérifier que les chiffres en question forment une heure valide (donc de préférence pas 77h 98m 64s ), tu peux faire une petite fonction de test que tu appliques à l'expression SI elle a passé la phase de la regexp... ça sera beaucoup moins lourd à écrire qu'une grosse regexp (enfin à mon avis ^^)

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    du genre ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     function isHour(sHour){
    var sSeparator = ':';
    var withSeconds = false;
    if(sHour.match("^[0-9]{2}:[0-9]{2}:[0-9]{2}$")) var withSeconds = true;
    	else if(!sHour.match("^[0-9]{2}:[0-9]{2}$")) return false;
    		var arHour = sHour.split(sSeparator);
    		var iHour = parseInt(arHour[0]);
    		var iMinute = parseInt(arHour[1]);
    	if(withSeconds)	var iSecs = parseInt(arHour[2]);
    else 						var iSecs = 0;
    return 	(iHour >= 0 && iHour < 24) && (iMinute >= 0 && iMinute < 60) && (iSecs >= 0 && iSecs < 60);
    		}
    par contre vu que c'est ma première fonction JS je ne sais pas comment l'implémenter dans mon code php lol
    et puis si possible pouvez vérifier que ma fonction est bonne ou a l'air bonne svp

    merci d'avance

  5. #5
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Ca me parait très bien à première vue ^^

    Juste une suggestion : pour tes appels à parseInt, je te conseille de rajouter le second paramètre (optionnel), qui précise la base de conversion (ici 10), pour éviter des surprises avec le calcul de la base intervenant par défaut quand on ne précise pas. En gros, si tu ne précises pas la base ET que tu parses une chaine débutant par "0", il fait la conversion en octal, ce qui va générer des erreurs pour les valeurs "08...", "09...", etc.

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Par défaut
    ok merci pour ta réponse mais dis moi je ne sais pas ou l'implémenter dans mon code php
    peut tu me dire stp?

Discussions similaires

  1. regexp de validation date et heure
    Par PoichOU dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 04/01/2012, 10h36
  2. Regexp pour controler l'heure
    Par garfield657 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/03/2007, 14h02
  3. Réponses: 22
    Dernier message: 18/07/2006, 15h05
  4. [CR ?] Somme d'heure sous Crystal ?
    Par Peter PARKER dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 17/04/2003, 16h24
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

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