Expressions régulières pour un nombre entier ou décimale JS

Niste03 1 Messages postés mardi 19 septembre 2017Date d'inscription 19 septembre 2017 Dernière intervention - 19 sept. 2017 à 08:51 - Dernière réponse : Whismeril 10844 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 janvier 2018 Dernière intervention
- 17 janv. 2018 à 09:58
Bonjour,

Je cherche à vérifier via une expression régulière si l'utilisateur a bien écrit, soit:
- Un nombre entier ou un nombre décimal, avec virgule ou point, admettant deux chiffres maximum après la virgule (ou point)
- Ce nombre doit être inférieure ou égale à 30
- Toutes lettres ou caractères spéciaux (autres que la virgule ou le point) ne sont pas autorisés
Voici ce que j'ai écris jusqu'à présent:
var regPoids=new RegExp('([0-9]+)([.,][0-9]{1,2})?');
Afficher la suite 

5 réponses

Répondre au sujet
CecilCordheley 34 Messages postés mercredi 8 novembre 2006Date d'inscription 18 janvier 2018 Dernière intervention - 16 janv. 2018 à 23:07
0
Utile
4
"- Ce nombre doit être inférieure ou égale à 30"
Les expression régulière sont plus utile pour tester la forme d'une chaîne de caractères mieux vaut faire un test
essai plutôt

var regPoids=new RegExp('([0-9]+,[0-9]+)|30');

Mais je ne suis pas bien sûr à cause du test "inférieur ou égale"
l'expression '[0-9]+ signifie que tu accepte toute les valeurs et le |30 signifie que dans le cas contraire tu accepte la valeur 30
--
Whismeril 10844 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 janvier 2018 Dernière intervention - 17 janv. 2018 à 07:16
Bonjour
regarde le résultat
http://regexstorm.net/tester?p=%28%5B0-9%5D%2B%2C%5B0-9%5D%2B%29%7C30&i=31%2C2%0D%0A21%0D%0A

C'est pas ce qu'il demande.
Whismeril 10844 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 janvier 2018 Dernière intervention - 17 janv. 2018 à 07:25
Voilà qui répond à peu près
http://regexstorm.net/tester?p=30%7c%28%3f%3a%5b12%5d%3f%5cd%28%3f%3a%5b%2c%5c.%5d%5cd%7b1%2c2%7d%29%3f%29&i=31%2c2%0d%0a21%0d%0a30%0d%0a30.1%0d%0a2%2c12%0d%0a2.12%0d%0a2.123%0d%0a


Quand je dis à peu près c'est qu'il n'extrait pas au milieu d'un texte (la preuve en image), mais pour une expression complète c'est bon.
KX 15154 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 janvier 2018 Dernière intervention > Whismeril 10844 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 janvier 2018 Dernière intervention - 17 janv. 2018 à 08:39
Bonjour,

Pour la lisibilité du site et la pérennité de son contenu (éviter de futurs liens morts), merci de poster le code en intégralité sur CodeS-SourceS, quitte à conserver le lien pour information.

Exemple :
30|(?:[12]?\d(?:[,\.]\d{1,2})?)
Whismeril 10844 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 21 janvier 2018 Dernière intervention > KX 15154 Messages postés samedi 31 mai 2008Date d'inscriptionModérateurStatut 21 janvier 2018 Dernière intervention - 17 janv. 2018 à 09:58
Ha oui bien vu.
Bon après j'espère que depuis septembre Niste03 a pu se débrouiller...
Commenter la réponse de CecilCordheley

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.