Prise En Compte De Décimales Avec "preg_match"

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Prise En Compte De Décimales Avec "preg_match"

par Sékiltoyai » 08 sept. 2007, 16:43

Merci beaucoup

En fait je ne me suis pas servi de is_numeric mais j'ai trouvé sur la page un truc dans ce genre => [0-9.,-] qui permet de tolèrer les décimales

J'ai adapté à ma page et c'est bon.

Merci encore

@+
Je peux rentrer un beau 12.667,827,287.76 l'expression passera parfaitement avec ta méthode. Et la fonction is_numeric() aura en plus de l'avantage de gérer ce problème, l'avantage aussi d'être plus rapide car optimisée pour cette recherche précise…

par Ryle » 08 sept. 2007, 16:33

Modération :
L-CoKo, si ta question est résolue, pense à ajouter le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.
Tu peux réaliser cette opération en cliquant sur le bouton Image en haut à gauche de ce sujet.

par L-CoKo » 08 sept. 2007, 16:29

Merci beaucoup

En fait je ne me suis pas servi de is_numeric mais j'ai trouvé sur la page un truc dans ce genre => [0-9.,-] qui permet de tolèrer les décimales

J'ai adapté à ma page et c'est bon.

Merci encore

@+

par Ryle » 08 sept. 2007, 15:40

Quand tu définies la classe [0-9] cela veut dire que tu autorises tous les caractères compris entre 0 et 9 inclus. Tu peux très bien modifier cette classe pour autoriser d'autres caractères. Par exemple : [0-9a-z+=] autorises les chiffres de 0 à 9, les lettres minuscules de a à z, le caractère '+' et le caractère '=' :)

Mais pour savoir si une valeur est numérique ou non, il y a plus simple que des expressions régulières, regarde du côté de is_numeric() par exemple (et des fonctions liées :))

Prise En Compte De Décimales Avec "preg_match"

par L-CoKo » 08 sept. 2007, 15:27

Bonjour à tous

Je démarre en PHP depuis moins de 48H et je viens déja vous ennuyer...

J'ai fait ceci en PHP qui est hebergé ICI pour test (iFrance)

Mon but n'était pas tant de savoir quel volume fait le cône mais de générer un message bien spécifique en cas d'une anomalie dans la saisie.

Il y a donc plusieurs messages d'erreur selon les circonstances :

1) si un champ vide
2) si deux champs vides
3) si lettre dans un champs

etc...

Tout marche comme je veux, sauf que je ne peux rentrer que des entiers pour avoir mon résultat.

Voici un bout de code pour comprendre ou je veux en venir :
$chiffre = '`[0-9]`';
$lettre = '`[^0-9]`';

if (preg_match($lettre,$_POST['hauteur']))
{
$erreur = "4";
}

elseif (preg_match($chiffre,$_POST['hauteur'] AND $_POST['rayon']==NULL))
{
$erreur = "3";
}
Donc quand je rentre la décimale 1.3 par exemple c'est reconnu comme une "lettre" puisque c'est différent de 0 à 9

J'aimerais donc savoir quelles sont les bonnes valeurs pour mes deux variables ($chiffre, et $lettre) afin que je puisse rentrer à la fois des entiers et des décimales mais que tout le reste soit exclus.

Je vous remercie

@+