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 :

Regex - Probl�me


Sujet :

JavaScript

  1. #1
    darkloy
    Invit�(e)
    Par d�faut Regex - Probl�me
    Bonjour � tous !

    J'ai un probl�me .

    J'ai un champ input dans lequel on tape une date au format :
    dd/mm/yyyy hh:mm:ss

    Je fais divers test avec l'�v�nement onkeypress, et j'aimerais, avant de renvoyer true ou false pour que le carract�re s'affiche ou pas, tester l'ensemble avec une expression reguli�re

    Voici ce que j'ai fait :

    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
     
    // On récupère la valeur de la touche en fonction de son code ASCII
    var touche = String.fromCharCode(key);
     
    // On génère le résultat si la fonction renvoie true, pour la tester avec une expression régulière
     
    var final = t.value + touche;
     
    // On crée  l'expression regulière (dd/mm/yyyy hh:mm:ss) 
    reg = /[0-3][0-9]\/[0-1][0-9]\/[1-2][0-9][0-9][0-9]\s[0-2][0-9]\:[0-5][0-9]\:[0-5][0-9]/;
     
    // Si ca ne remplie pas l'expression régulière
     
    if(!reg.test(final))
    return false;
    Ca marcherais, sauf qu'il faudrais que l'expression marche d�s que l'utilisateur a commenc� a taper la date, et non une fois qu'elle est totalement termin�e

    Je m'explique :
    l'utilisateur veux rentrer '29/12/2008 14:25:23'

    il tape 2 (renvoie false)
    il tape 9 (renvoie false)
    il tape / (renvoie false)
    ...
    et ca renvoie true qu'a la fin

    je voudrais par exemple que ca renvoie false uniquement si il tape des caract�res invalides

    il tape g (renvoie false)
    il tape 2 (renvoie true)

    Je pense pas etre tr�s clair, et j'en suis d�sol� .

  2. #2
    Membre exp�riment� Avatar de marts
    Inscrit en
    F�vrier 2008
    Messages
    233
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2008
    Messages : 233
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    reg = /([0-3]([0-9](\/([0-1]([0-9](\/([1-2]([0-9]([0-9]([0-9](\s([0-2]([0-9](\:([0-5]([0-9](\:([0-5]([0-9])?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?/;

  3. #3
    darkloy
    Invit�(e)
    Par d�faut
    Merci de ta r�ponse (et de m'avoir compris )!!

    Je teste �a desuite !!!

  4. #4
    darkloy
    Invit�(e)
    Par d�faut
    Ca me renvoie "true" tout le temps

    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
     
    // On récupère la valeur de la touche en fonction de son code ASCII
     
    var touche = String.fromCharCode(key);
     
    // On génère le résultat si la fonction renvoie true, pour la tester avec une expression régulière
     
    var final = t.value + touche;
     
    // Expression regulière 
    reg = /([0-3]([0-9](\/([0-1]([0-9](\/([1-2]([0-9]([0-9]([0-9](\s([0-2]([0-9](\:([0-5]([0-9](\:([0-5]([0-9])?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?)?/;
     
     
    // Si ca ne remplie pas l'expression régulière on bloque
    	if(!reg.test(final))return false;
    mais c'est s�rement mal qui utilise mal la regex .Je vais manger et bien reflechir � tout ca!

    Merci !

Discussions similaires

  1. [c# REGEX]Probl�me avec une expression r�guli�re
    Par mezzo_998 dans le forum Windows Forms
    R�ponses: 5
    Dernier message: 24/11/2007, 13h03
  2. REGEX probl�me avec les "
    Par storm_2000 dans le forum Collection et Stream
    R�ponses: 9
    Dernier message: 30/11/2006, 18h32
  3. [RegEx] regex : probl�me de motif
    Par poonoo dans le forum Langage
    R�ponses: 12
    Dernier message: 25/09/2006, 13h02
  4. R�ponses: 12
    Dernier message: 04/09/2006, 17h59
  5. [Regex] Probl�me de match...
    Par Hoegaarden dans le forum Collection et Stream
    R�ponses: 6
    Dernier message: 14/02/2006, 16h25

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