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

Signaler
Messages postés
1
Date d'inscription
mardi 19 septembre 2017
Statut
Membre
Dernière intervention
19 septembre 2017
-
Messages postés
15925
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 mai 2021
-
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})?');

1 réponse

Messages postés
43
Date d'inscription
mercredi 8 novembre 2006
Statut
Membre
Dernière intervention
29 décembre 2020
2
"- 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
--
Messages postés
15925
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 mai 2021
540
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.
Messages postés
15925
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 mai 2021
540
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.
Messages postés
16327
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 mai 2021
118 >
Messages postés
15925
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 mai 2021

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})?)
Messages postés
15925
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
7 mai 2021
540 >
Messages postés
16327
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
4 mai 2021

Ha oui bien vu.
Bon après j'espère que depuis septembre Niste03 a pu se débrouiller...