我想使用正则表达式仅允许文本框中包含数字。
- 最多允许 10 位数字。
- 小数点后最多 2 位数字。
- 10 位数字后不允许使用小数点。
有效表达式:
999999999.22
1234567890
123447899.1
无效表达式:
99999999999
9999999999.12
9999999999.1
99999999999.12
99999999999.1
我尝试了下面的正则表达式,它满足了我想要的所有期望: 它允许 10 位数字后的小数点,这是我不想要的。 小数点最多只能在 9 位数字之后有效。
^[0-9]\\d{0,9}(\\.\\d{1,2})?%?$
最佳答案
您可以将正则表达式分为三部分:1 到 10 位数字、1 到 9 位数字和 1 位小数以及 1 到 8 位数字和 2 位小数:
^\d{1,10}$|^\d{1,8}\.\d{2}$|^\d{1,9}\.\d$
( Proof )
关于c# - 使用正则表达式不允许 10 位数字后有小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49549518/