Expression régulière pour faire appliquer 2 chiffres après le point décimal
J'ai besoin de valider une chaîne numérique avec JavaScript, pour s'assurer que le numéro a exactement deux décimales.
La validation de mot de passe uniquement si
- le nombre a précisément deux décimales
- il y a au moins un chiffre avant la virgule. (qui peut être zéro)
- le nombre de chiffres avant le point décimal ne peut pas commencer avec plus d'un zéro.
De numéros valides:
0.01
0.12
111.23
1234.56
012345.67
123.00
0.00
Numéros non valides:
.12
1.1
0.0
00.00
1234.
1234.567
1234
00123.45
abcd.12
12a4.56
1234.5A
J'ai essayé de l'expression régulière [0-9][\.][0-9][0-9]$
, mais il permet des lettres avant le point décimal comme 12a4.56
.
OriginalL'auteur Manas Saha | 2012-11-03
Vous devez vous connecter pour publier un commentaire.
.
correspond à tout caractère, il ne fait pas ce que vous pensez que cela fonctionne. Vous devez vous échapper. Aussi, vous avez deux erreurs; essayezà la place, ou mieux encore, utiliser
\d
pour les chiffres décimaux:Ah, vous voulez au moins un chiffre avant la virgule. Ici vous êtes.
Cela fonctionne parfaitement! merci une tonne 🙂
Vous êtes les bienvenus.
Une classe de caractères, y compris d'un point correspond à un littéral de dot, pas n'importe quel caractère. Le vrai problème est, que l'OP n'a pas la force de chiffres à suivre immédiatement après le début, c'est à dire pas de
^
, il ne permet pas de multiples chiffres avant la virgule.[.]
a été parfaitement bien.OriginalL'auteur
Cela couvre toutes les exigences:
\.\d\d$
Les deux autres conditions, peut être reformulée comme suit:
Ce qui est couvert dans ces deux cas:
0
0?[1-9]\d*
OriginalL'auteur phant0m
Vous n'avez pas besoin d'expressions régulières pour cela.
JavaScript a une fonction
toFixed()
qui va faire ce dont vous avez besoin.oui... donc comparer la valeur d'origine avec toFixed valeur. vous n'avez toujours pas besoin de regex.
+1 pour ce qui suggère une alternative valable.
OriginalL'auteur Spudley
changer la valeur que vous voulez et de le vérifier
OriginalL'auteur Man Programmer
Ici, il est:
0.110.11
par exemple. Il vous manque des parenthèses, le^
après la|
est mal[.]+
ne devrait pas avoir d'+
.OriginalL'auteur Salvador Dali