par
zeus » 11 mai 2005, 14:39
Si tu veux trouver tout seul, il faut que tu te pose la question suivante : comment est formé un nombre décimal ?
réponse : une suite de 1à n chiffre, un point (ou une virgule, ou les deux, c'est toi qui voit) et une suite de 1à n chiffres
L'ER s'écrit bien quand tu te pose cette question :
ereg("^([0-9]+)(,[0-9]+)?$", $_POST['masse'])
A savoir que si tu veut limiter le nombre de chiffre après la virgule, tu peut donner une fenetre de taille à la place du "+". Exemple : ([0-9]{1,4}) va accpeter tt les décimaux ayant entre 1 et a chiffres après la virgule.
Le fait d'avoir mis la "," dans la seconde parenthèse et d'avoir mis un "?" après cette parenthèse permet d'accpeter les entiers ET les décimaux. en effet, l'ER va tester la validité des chiffres se trouvant après la virgule seulement si la virgule est présente. LE "?" attend 0 ou 1 fois la suite de caractère "," et 1à n caractères
Cette ER va accepter :
-les entiers : 1 à n chiffres sans virgule
-les décimaux : 1 à n chiffres + virgule + suite de caractères
mais va refuser :
-les entiers finissant par "," (84,)
-les décimaux commencant par "," (,48)
Voili voilu !!!
Si tu veux trouver tout seul, il faut que tu te pose la question suivante : comment est formé un nombre décimal ?
réponse : une suite de 1à n chiffre, un point (ou une virgule, ou les deux, c'est toi qui voit) et une suite de 1à n chiffres
L'ER s'écrit bien quand tu te pose cette question :
[php]ereg("^([0-9]+)(,[0-9]+)?$", $_POST['masse'])[/php]
A savoir que si tu veut limiter le nombre de chiffre après la virgule, tu peut donner une fenetre de taille à la place du "+". Exemple : ([0-9]{1,4}) va accpeter tt les décimaux ayant entre 1 et a chiffres après la virgule.
Le fait d'avoir mis la "," dans la seconde parenthèse et d'avoir mis un "?" après cette parenthèse permet d'accpeter les entiers ET les décimaux. en effet, l'ER va tester la validité des chiffres se trouvant après la virgule seulement si la virgule est présente. LE "?" attend 0 ou 1 fois la suite de caractère "," et 1à n caractères
Cette ER va accepter :
-les entiers : 1 à n chiffres sans virgule
-les décimaux : 1 à n chiffres + virgule + suite de caractères
mais va refuser :
-les entiers finissant par "," (84,)
-les décimaux commencant par "," (,48)
Voili voilu !!!