Le jour en 2 chiffres

Résolu
Signaler
Messages postés
41
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
9 septembre 2005
-
Messages postés
41
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
9 septembre 2005
-
voila j'aimerais faire une correction sur l'entrée d'une date

Comment je peux faire pour lancer un message d'erreur lors d'une mauvaise entrée

exemple, quelqu'un tape:

!adddate lundi 2 fevrier



ca lui repondrais qu'il faut que le jour soit en 2 chiffres

Je vais quand meme pas tapper:

if ($3 isin %listjour) goto ok

if ($3 !isin %listjour) notice $nick 4Tu as fais une erreur, le jour doit etre en 2 chiffres, recommence ! | halt

avec une variable

%listjour 01,02,03,04,05,06,07,08,09,etc..,30,31



Y a t-il un moyen simple de dire si $3 egal 2 chiffres goto ok !

J'ai l'impression de bloquer pour pas grand chose !!

7 réponses

Messages postés
407
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
25 août 2005

Le mieux est d'utiliser des $regex je pense :



if ($regex($3,/[0-9]/g) == 2) goto ok
Messages postés
1804
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
22 septembre 2009
5
fyltum ton truc vérifie seulement que $3 contient 2 chiffres

if $regex($3,^\d{2}$) { ...

ou

if ($3 isnum) && ($len($3) == 2) { ...

sont les deux soluces qui me viennent à l'esprit

PaDa
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

Non, ça ne validera pas si le jour précisé sera '30' ou '31', et ça autorisera les 00 &Cie.

^(0[1-9]|[1-2][0-9]|3[0-1]$) devrait être mieux si on compte vérifier le format.



Au lieu d'imposer la contrainte de mettre deux nombres, tu peux
rajouter automatiquement le 0, si l'utilisateur ne met qu'un seul
chiffre.


tokenize 32 $1-2 $base($3,10,10,2) $4-
Messages postés
407
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
25 août 2005

Pas bete :)
Messages postés
407
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
25 août 2005

Et comme ça : $regex($3,^[0-2][0-9]$) ?
Messages postés
231
Date d'inscription
mercredi 12 février 2003
Statut
Membre
Dernière intervention
7 juillet 2009

^(0[1-9]|[1-2][0-9]|3[0-1])$ plutôt.

Petite erreur syntaxique ;)
Messages postés
41
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
9 septembre 2005

Les fameuses expressions regulieres dont tu m'avais deja parlé PaDa !!

Me parressant trop complexe pour mes neurones, j'ai mis ca en bemol !



Et je vois que j'aurais jamais pu trouver ca tout seul :[



Je vais essayer toutes vos propositions !

En meme temps la solution de Hades m'interresse avec le tokenize par
contre si je veux mettre l'heure apres ( 18h00) qu'est ce que je dois
mettre à la place de $4-