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

Niste03
Messages postés
1
Date d'inscription
mardi 19 septembre 2017
Statut
Membre
Dernière intervention
19 septembre 2017
- 19 sept. 2017 à 08:51
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
- 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})?');

1 réponse

Profil bloqué
16 janv. 2018 à 23:07
"- 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
--
0
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
Modifié le 17 janv. 2018 à 07:17
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.
0
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596
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.
0
KX
Messages postés
16538
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 mai 2022
124 > Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022

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})?)
0
Whismeril
Messages postés
17336
Date d'inscription
mardi 11 mars 2003
Statut
Modérateur
Dernière intervention
20 mai 2022
596 > KX
Messages postés
16538
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
21 mai 2022

Modifié le 17 janv. 2018 à 09:59
Ha oui bien vu.
Bon après j'espère que depuis septembre Niste03 a pu se débrouiller...
0