通貨フィールドを正規表現で検証したいと考えています。次のパターンのエントリを許可したい
1.23
1
.45
0.56
56.00
コンマは使用できません。試してみまし\d+(\.\d\d)
たが、1 番目、4 番目、5 番目のエントリしか許可されません。\d+(?:\.\d\d+)?
3 番目以外のすべてを許可します。
通貨フィールドを正規表現で検証したいと考えています。次のパターンのエントリを許可したい
1.23
1
.45
0.56
56.00
コンマは使用できません。試してみまし\d+(\.\d\d)
たが、1 番目、4 番目、5 番目のエントリしか許可されません。\d+(?:\.\d\d+)?
3 番目以外のすべてを許可します。
\d*
小数点の前の代わりに使用\d+
して、ゼロ以上の数字に一致させます。また、アンカー (^
および$
) を追加しないと、一致するものがある限り通過します。これは空の文字列も検証するため、必要に応じて先読みを使用して、少なくとも 1 つの数字があることを確認できます。
^(?=.*\d)\d*(?:\.\d\d)?$
浮動小数点数の正規表現は解決済みの問題です。
\d*\.?\d+
少なくとも 2 つの小数の場合:
(\d*\.\d)?\d+
よりわかりやすくするには:
\d+|\d*\.\d{2,}
小数点以下 2 桁の場合:
\d+|\d*\.\d{2}
言語によっては、文字列全体に一致するように式を固定することを忘れないでください。