Aide sur expresssion régulière SVP

Nouveau WRInaute
Bonjour :D ,
Je bute sur une expression régulière dans un Javascript: dans un champ de formulaire, je veux qu'on ne puisse rendtrer que des nombre de 1 à 99.
J'ai essayé cela sans succès :

Code:
var expression =/^[1-9]{1}|([1-9]{1}[0-9]{1})$/;

Est-ce que quelqu'un a une idée de comment faire pour que ça marche ?
 
WRInaute passionné
Je ne pourrais pas t'aider en javascript, seulement te mettre en garde si tu t'en sers pour de la protection, il suffira à l'utilisateur de désactiver le javascript pour outrepasser.

Sinon, en PHP, j'utilise la fonction filter_var mais rien à voir.
Tu peux "tenter" un simple [1-99] sinon ;)
-www.regular-expressions.info/numericranges.html
 
WRInaute accro
Tu peux "tenter" un simple [1-99] sinon
Ben non. Ca, ça fonctionnera pas ;)

Code:
var expression =/^[0-9]{1,2}$/;

Ceci vérifiera la chose suivante : Tu as au maximum deux caractères ({1,2}). Et chacun de ces caractères ne peuvent être que entre 0 et 9.

En conséquent, 05 fonctionnera. 99 Aussi etc.
105 ne fonctionnera pas.
Mais 0005 ne fonctionnera pas non plus !

Il ne faut donc pas oublier de transformer la chaine en integer auparavant si c'est un string.
 
WRInaute accro
Même si ton expression régulière d'origine est un peu surchargée ("{1}" c'est un peu superflu, /^[1-9]|([1-9][0-9])$/ suffit, ou encore /^[1-9](|[0-9])$/ ou encore /^[1-9][0-9]?$/ ), ça devrait marcher quand même. La question est donc plutôt: qu'est-ce-qui "ne marche pas" exactement? Je suppose quand même que tu appliques l'expression régulière à la chaîne à vérifier ensuite? Un bout de code un peu plus complet nous aiderait probablement à t'en dire plus...

Jacques.
 
Discussions similaires
Haut