Expression regulirere pour Valider un Float

Eléphanteau du PHP | 29 Messages

27 avr. 2005, 20:34

Bonjour, je souhaiterai valider une données dans un champ input.....

De la même manière, j'ai deux fonctions me permettant de verifier email ainsi que une date apr le biasi d'expression regulière. Les deux première sonfciotn marchent bien mais pas la troisième qui me mets une erreur

Code : Tout sélectionner

Erreur : invalid quantifier + Fichier Source : http://www.sezam-interactive.com/bourse_aux_vins/saisir_offre.php Ligne : 25, Colonne : 13 Code Source : var reg = /^[0-9]+[,\.]{1}+[0-9])$/
mes fonctions :

Code : Tout sélectionner

function VerifMail(email) { // vérif validité email par REGEXP var reg = /^[A-Za-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$/ return (reg.exec(email)!=null) } function VerifDateFr(date) { // vérif validité email par REGEXP var reg = /^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$/ return (reg.exec(date)!=null) } function VerifFloat(f) { // vérif validité email par REGEXP var reg = /^[0-9]+[,\.]{1}+[0-9])$/ return (reg.exec(f)!=null) }
Qu'est ce qui peut clocher selon vous ?

Mammouth du PHP | 19672 Messages

27 avr. 2005, 20:43

à vue de nez, je dirais ceci:

Code : Tout sélectionner

...[,\.]{1}+...
tu mets {1} et juste après un autre quantifieur "+" alors ça doit coincer là.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 29 Messages

27 avr. 2005, 21:23

var reg = /^[0-9]+[,\.]{1}+[0-9])$/
erreur à la c.. suite au copier coller ..... la ")" de fin...

Par contre.....là mon ereg doit etre fausse.. qqun pourrait m'aider .?

Code : Tout sélectionner

// celle là marche function VerifDateFr(date) { // vérif validité email par REGEXP var reg = /^[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})$/ return (reg.exec(date)!=null) } celle là refuse un 800.6 ou un 400,4 par exemple. function VerifFloat(f) { // vérif validité email par REGEXP var reg = /^[0-9]+[,\.]{1}[0-9]$/ return (reg.exec(f)!=null) } j'ai essayé ceci aussi. var reg = /^[0-9]+(,|\.){1}[0-9]$/ pareil :(( ni celle là .. var reg = /^[0-9]+([,]|[\.]){1}[0-9]$/ // :((((

mimi31110
Invité n'ayant pas de compte PHPfrance

12 mars 2010, 11:50

pour reconnaitre des float comme des prix, avec ou pas la virgule/point :
/^[\+\-]?[0-9]+([\.\,][0-9]+)?$/
et a 1 ou 2 chiffres après la virgule :
/^[\+\-]?[0-9]+(([\.\,][0-9]{1})|([\.\,][0-9]{2}))?$/
on remarque "([\.\,][0-9]{1})", si on veut 3 chiffres après la virgule, on ajout un groupe avec "{3}", etc.

bonne continuation ;)

Mammouth du PHP | 19672 Messages

12 mars 2010, 11:55

pour reconnaitre des float comme des prix, avec ou pas la virgule/point :
/^[\+\-]?[0-9]+([\.\,][0-9]+)?$/
et a 1 ou 2 chiffres après la virgule :
/^[\+\-]?[0-9]+(([\.\,][0-9]{1})|([\.\,][0-9]{2}))?$/
on remarque "([\.\,][0-9]{1})", si on veut 3 chiffres après la virgule, on ajout un groupe avec "{3}", etc.

bonne continuation ;)
Tu nous fais carrément de l'archéologie mimi31110, le sujet original a quasiment 5 ans :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

12 mars 2010, 15:00

Tu nous fais carrément de l'archéologie mimi31110, le sujet original a quasiment 5 ans :-k
... et on découvre que le mammouth ganesh vivait déjà à l'époque :lol:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute