Regex pour nombre décimal

Utilisez /^-?\d+(?:\.\d+)?$/ pour vérifier qu’une chaîne entière est un nombre décimal valide. Chaque exemple ci-dessous est testé avec ce motif, et vous pouvez l’ouvrir dans le Testeur de Regex avec les exemples déjà chargés.

Mis à jour le

SaisieRésultat
42✓ Correspondance
-3.14✓ Correspondance
0.5✓ Correspondance
.5✗ Aucune correspondance
1.✗ Aucune correspondance
1,000✗ Aucune correspondance
abc✗ Aucune correspondance
+1✗ Aucune correspondance

Fonctionnement du motif

PartieSignification
-?Signe moins facultatif
\d+Partie entière
(?:\.\d+)?Point et chiffres décimaux facultatifs

Exemples de code

JavaScript

const re = /^-?\d+(?:\.\d+)?$/;
re.test(value); // true or false

Python

import re

bool(re.fullmatch(r'-?\d+(?:\.\d+)?', value))

PHP

preg_match('/^-?\d+(?:\.\d+)?$/', $value) === 1;

Notes et limites

Pour autoriser .5, remplacez \d+ par \d* dans la partie entière (et assurez-vous que la chaîne n’est pas vide).

Questions fréquentes

Quelle est la regex pour un nombre décimal ?
/^-?\d+(?:\.\d+)?$/ — elle correspond à la chaîne entière. Consultez le tableau ci-dessus pour le rôle de chaque partie.
Quels exemples correspondent ?
Parmi les exemples testés, ceux-ci correspondent : 42, -3.14, 0.5. Les autres ne correspondent pas.
Comment tester cette regex ?
Cliquez sur « Ouvrir dans le Testeur de Regex » : le motif, les drapeaux et le texte d’exemple se chargent automatiquement, et les correspondances s’affichent en surbrillance pendant que vous modifiez.