7
votes

Valider les nombres décimaux javascript

J'utilise le REGEXP suivant pour valider les numéros dans mon fichier JavaScript: xxx

Ça fonctionne bien pour des nombres entiers tels que 100, 200, etc. Toutefois, pour des choses comme 1.44, 4.11, etc, il retourne faux. Comment puis-je le changer afin que des chiffres avec une décimale soient également acceptés?


0 commentaires

5 Réponses :


27
votes
 1  : yes
 1.2: yes
-1.2: yes
+1.2: yes
  .2: yes
 1. : yes

0 commentaires

3
votes

Essayez ceci:

^[-+]?\d+(\.\d+)?$


1 commentaires

"4." est techniquement un nombre décimal valide mais cette regex ne correspond pas à cela. Vous devriez faire les chiffres \ d + dans le groupe facultatif.



0
votes

Si vous souhaitez accepter des décimales (y compris ou une refente: P>

valid=/^[+\-]?(\.\d+|\d+(\.\d+)?)$/.test(val);


0 commentaires

3
votes

isnan semble être une meilleure solution pour moi.

> isNaN('1')
false
> isNaN('1a')
true
> isNaN('1.')
false
> isNaN('1.00')
false
> isNaN('1.03')
false
> isNaN('1.03a')
true
> isNaN('1.03.0')
true


0 commentaires

0
votes

! Isnan (texte) && parsefloat (texte) == Texte


0 commentaires