par
Cyrano » 23 août 2006, 18:06
tu y es presque : il manque les nombres de caractères et le fait que le masque soit une chaine de caractère implique de la mettre entre guillemets.
if (eregi("^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$", $_POST['date']))
le "^" indique que la chaine doit commencer par ce qui suit et le "$" indique la fin de la chaîne à tester.
LE bloc [0-9] indique une classe qui va de 0 jusqu'à 9. Si tu avais mis par exemple [5-8] alors la recherche aurait été limité dans la tranche de 5 à 8. Ce bloc est suivi par le nombre d'occurences devant être trouvées : {x,y} où x est le nombre minimum, et y le nombre maximum :
{1,2} : 1 ou 2 occurences;
{2} : exactement 2 occurences;
éventuellement, tu pourrais utiliser d'autres symboles au lieu de {x,y} :
[0,9]* : de 0 à n occurence (pas de maximum)
[0,9]? : 0 ou 1 occurence;
[0,9]+ : 1 occurence minimum ou davantage (pas de maxi)
Jette un coup d'oeil sur le site PHPFrance, il y a un tuto sur les expressions régulières.
tu y es presque : il manque les nombres de caractères et le fait que le masque soit une chaine de caractère implique de la mettre entre guillemets.
[php]
if (eregi("^[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}$", $_POST['date']))
[/php]
le "^" indique que la chaine doit commencer par ce qui suit et le "$" indique la fin de la chaîne à tester.
LE bloc [0-9] indique une classe qui va de 0 jusqu'à 9. Si tu avais mis par exemple [5-8] alors la recherche aurait été limité dans la tranche de 5 à 8. Ce bloc est suivi par le nombre d'occurences devant être trouvées : {x,y} où x est le nombre minimum, et y le nombre maximum :
{1,2} : 1 ou 2 occurences;
{2} : exactement 2 occurences;
éventuellement, tu pourrais utiliser d'autres symboles au lieu de {x,y} :
[0,9]* : de 0 à n occurence (pas de maximum)
[0,9]? : 0 ou 1 occurence;
[0,9]+ : 1 occurence minimum ou davantage (pas de maxi)
Jette un coup d'oeil sur le site PHPFrance, il y a un tuto sur les expressions régulières.