2 votes

Regex pour valider un nombre avec certains critères

Je dois valider un numéro en fonction de ces critères :

  1. Peut être un flottant ou un entier
  2. Échelle 4
  3. Précision 2

J'ai essayé comme ceci :

pattern="/^[-+]?[0-9]\d*(\.\d+)?$/i",

Quelques exemples :

  1. valide : 2 ; -1 ; 0.4 ; 0.12 ; 1928 ; 1827.78 ; -182.4
  2. invalide : 10000 ; 0.345 ; 89374.5 ;

Merci d'avance.

2voto

Wiktor Stribiżew Points 100073

Vous pouvez utiliser

'/^[-+]?(?:[1-9]\d{0,3}|0)(?:\.\d{1,2})?$/'

Véase el Démonstration des expressions rationnelles .

Détails

  • ^ - début de la chaîne
  • [-+]? - soit - o +
  • (?:[1-9]\d{0,3}|0) - un groupe de non-capture correspondant soit
    • [1-9]\d{0,3} - un chiffre de 1 a 9 (non nul) et tout chiffre de 0 à 3 chiffres
    • | - ou
    • 0 - un zéro
  • (?:\.\d{1,2})? - un groupe facultatif non capturant correspondant à 1 ou 0 occurrence de
    • \. - un point
    • \d{1,2} - 1 ou 2 chiffres
  • $ - fin de la chaîne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X