jQuery
En savoir plus
Adobe Flex & Flash
En savoir plus
XML
En savoir plus

Inscris-toi au e-camp "Héberge ton jeu Facebook sur Azure" de Microsoft vendredi 25 mai à 13h30 !
Le problème de ce sujet a été résolu
Offre d'emploi : Développeur Web PHP/Drupal (H/F)
| Page 1 | |||
| Auteur | Message | ||
|---|---|---|---|
| 1 visiteur sur ce sujet (1 Anonyme) | |||
| Page 1 | |||
IgiX
|
# Posté le 04/04/2008 à 23:36:20 | ||
![]()
Études : Epitech Paris |
Bonsoir les 0
voilà mon problème : Je ne comprend rien aux regex, et il m'en faudrait une, et je ne sais pas comment la faire! Je souhaite vérifier la validité d'un champs date de naissance, avec pour valeur jj/mm/aaaa soit 04/04/2008, mais le problème, c'est Comment faire? Le seul truc, dont je suis sur(et encore) c'est preg_match("#^[0-9]{2}$#", $xx); mais je block après merci d'avance! $variable = 'le pape'; // le pape en string Alors Brice, aujourd'hui on va voir la programmation, tu pars bien haut, bien abstrait d'un void et tu descends sur un entier signé. Et tu cast, et tu cast et tu cast. ![]() |
||
| Publicité | # Posté le 04/04/2008 à 23:36:20 | ||
|
|
|||
JaKhris
|
# Posté le 04/04/2008 à 23:41:13 | ||
Floccinaucinihilipilification![]()
Études : E-art sup |
Et bien il te faut ceci :
deux chiffres, un slash, deux chiffres, un slash et quatres chiffres. Ta REGEX là, elle vérifie si la chaîne commence et fini par un chiffre entre 0 et 9 et ne dépasse pas deux caractères. Il te faut donc relire le cours sur les REGEX pour que tu puisse réaliser ce que tu souhaites. ![]() PS : N'oublie pas d'échapper le slash avec un antislash.
|
||
IgiX
|
# Posté le 04/04/2008 à 23:43:39 | ||
![]()
Études : Epitech Paris |
ouai, je sais, il faut que je
re-re-reCode : PHP - Afficher / masquer les numéros de ligne ![]() edit: donc il faut qqch du type: #^[0-9]{2}\/[0-9]{2}\/[0-9]{4}\/$# nan?
Édité
le 04/04/2008 à 23:47:52
par IgiX
$variable = 'le pape'; // le pape en string Alors Brice, aujourd'hui on va voir la programmation, tu pars bien haut, bien abstrait d'un void et tu descends sur un entier signé. Et tu cast, et tu cast et tu cast. ![]() |
||
Clement_frm
|
# Posté le 04/04/2008 à 23:50:21 | ||
Limons les repose-pieds !![]()
|
Code : PHP - Afficher / masquer les numéros de ligne
Bon, bien sûr, ça laisse la possibilité d'écrire une date incohérente du genre : 39/15/9999, mais au moins le format est respecté : x/x/xx ou xx/xx/xxxxx ou un mix des deux, ça passe. Si tu veux que ça soit plus rigide, et qu'on ne puisse écrire que xx/xx/xxxx, alors c'est plutôt cette regex qui sera adaptée : Code : PHP - Afficher / masquer les numéros de ligne
(HS : pourquoi échapper les slashes ?) Clément.. |
||
IgiX
|
# Posté le 04/04/2008 à 23:54:43 | ||
![]()
Études : Epitech Paris |
euh, sais pas les \/
![]() mais dinc si je met Code : PHP - Afficher / masquer les numéros de ligne
cela fonctionnerais? $variable = 'le pape'; // le pape en string Alors Brice, aujourd'hui on va voir la programmation, tu pars bien haut, bien abstrait d'un void et tu descends sur un entier signé. Et tu cast, et tu cast et tu cast. ![]() |
||
Clement_frm
|
# Posté le 05/04/2008 à 00:00:11 | ||
Limons les repose-pieds !![]()
|
Citation : IgiXNon !
La classe [1-31], pour ne prendre qu'elle en exemple, signifie littéralement : «Tous les chiffres compris entre 1 et 3 ou le chiffre 1». Et il en va de même avec [0-12] et [1950-2008], qui veulent dire : - pour la première : les chiffres de 0 à 1 ainsi que le 2 - pour la seconde : le chiffre 1, le 9, le 5, les chiffres 0 à 2, le 0, encore le 0 (ça ne gêre pas PHP, tu peux lui dire de vérifier mille fois s'il y a le 0, il le fera), et le chiffre 8. Ça ne fonctionne donc pas... Clément.. |
||
IgiX
|
# Posté le 05/04/2008 à 00:04:45 | ||
![]()
Études : Epitech Paris |
merci!a
Donc il serai mieu de mettre en variable mes valeur jj mm et aaaa pour faire un test type if($jj <= 0 OR $jj => 13){...} mais, comment mettre ces valeurs en variable? edit ou sinon Code : PHP - Afficher / masquer les numéros de ligne
mais bon
Édité
le 05/04/2008 à 00:15:47
par IgiX
$variable = 'le pape'; // le pape en string Alors Brice, aujourd'hui on va voir la programmation, tu pars bien haut, bien abstrait d'un void et tu descends sur un entier signé. Et tu cast, et tu cast et tu cast. ![]() |
||
Clement_frm
|
# Posté le 05/04/2008 à 00:26:43 | ||
Limons les repose-pieds !![]()
|
Bah, passons à autre chose : checkdate()
Je pense que ça va te simplifier la vie. D'abord tu vérifies que la date est valide grâce à checkdate(), puis tu utilises ma première regex pour vérifier si le format est le bon (enfin...tu peux le faire en sens inverse, on s'en fout )Il faudra juste te pencher un peu sur explode() (ce n'est qu'une piste de réflexion, il y en a d'autres) pour récupérer les valeurs séparément, afin de les passer à checkdate() dans le bon ordre
Clément.. |
||
IgiX
|
# Posté le 05/04/2008 à 00:28:10 | ||
![]()
Études : Epitech Paris |
|||
saturn1
|
# Posté le 05/04/2008 à 00:33:37 | ||
![]()
|
rooo la feignasse
Tiens pour explode c'est pas compliqué $temps = explode('/', $date); $temps[0] c'est les jours $temps[1] c'est les mois... etc
Édité
le 05/04/2008 à 00:36:28
par saturn1
|
||
IgiX
|
# Posté le 05/04/2008 à 00:35:51 | ||
![]()
Études : Epitech Paris |
c'est bon j'ai fait tout seul!
Code : PHP - Afficher / masquer les numéros de ligne voilà pour ceux qui sont dans le meme cas que moi EDIT satunr voulant jouer le pro du php : Edité il y a 9 min alors que mon msg a été Posté il y a 10 min
Édité
le 05/04/2008 à 00:47:27
par IgiX
$variable = 'le pape'; // le pape en string Alors Brice, aujourd'hui on va voir la programmation, tu pars bien haut, bien abstrait d'un void et tu descends sur un entier signé. Et tu cast, et tu cast et tu cast. ![]() |
||
arcanis
|
# Posté le 19/10/2011 à 10:58:11 | ||
Tataye-yoyo !![]()
Études : Epitech Paris |
Citation : IgiX
merci!a Donc il serai mieu de mettre en variable mes valeur jj mm et aaaa pour faire un test type if($jj <= 0 OR $jj => 13){...} mais, comment mettre ces valeurs en variable? edit ou sinon Code : PHP
mais bon ![]() Quitte à vérifier les jours et mois, tu as plus simple : (0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[0-2])/[0-9]{4} Pour les ans, je n'ai pas intégré de vérification compte tenu du fait qu'une regex est censée vérifier la validité syntaxique d'une entrée, pas sa cohérence. Déjà le check des jours et mois est peut-être pas dans l'esprit du truc, même si facilement faisable. Après, checkdate() est effectivement fait pour, donc ... [edit] Je vous jure que je ne sais pas ce qu'il s'est passé. J'ai vu ce topic en tant que dernier post du forum. Wtf.
Édité
le 19/10/2011 à 11:34:20
par arcanis
Il est allé là où personne n'était allé auparavant (dans la grande réserve). Il en revient aujourd'hui pour s'assurer que nul ne le suivra... Des objections? |
||
Retour au forum "PHP" ou à la liste des forums
