J'utilise le REGEXP suivant pour valider les numéros dans mon fichier JavaScript: Ç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? P> p>
5 Réponses :
1 : yes 1.2: yes -1.2: yes +1.2: yes .2: yes 1. : yes
Essayez ceci:
^[-+]?\d+(\.\d+)?$
"4." est techniquement un nombre décimal valide mais cette regex ne correspond pas à cela. Vous devriez faire les chiffres \ d + code> dans le groupe facultatif.
Si vous souhaitez accepter des décimales (y compris ou une refente: P>
valid=/^[+\-]?(\.\d+|\d+(\.\d+)?)$/.test(val);
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
! Isnan (texte) && parsefloat (texte) == Texte p>