^(0|[1-9][0-9]*)(\.[0-9]{1,3})?$ 求改

时间:2021-03-12 10:34:03
^(0|[1-9][0-9]*)(\.[0-9]{1,3})?$
这句话是验证输入的价格但是有点问题,如果全部输入0 都可以,
我要的合法应该是 0.001   0.01     1  反正只要有数字大于0的就可以
 
我现在就是输入0.000  0.00   这样的都可以, 我怎么得到如果有小数则得到后面的是否全部大于0
如果没有. 则判断所有数字是否大于0

因为价格有可能是0.多少 或者是整数

17 个解决方案

#1


一看正则表达式就头晕,帮顶!

#2


改为小数后面至少有一个不为0就可以了

#3


^(([1-9][0-9]*)(\.[0-9]{1,3})|(0.[]1-9){1,4})?$
你试试吧 

#4


^(?!0\d)\d+(\.(?!0+$)\d{1,3})?$

#5


^(?!0\d)\d+(\.(?!0+$)\d{1,3})?$

正解太谢谢 逍遥兄

#6


引用 3 楼 chenlanglin 的回复:
^(([1-9][0-9]*)(\.[0-9]{1,3})|(0.[]1-9){1,4})?$
你试试吧


这位朋友的提示我正则少一个] 看了一下不太清楚 呵呵, 现在逍遥解决了

#7


^(?!0\d)\d+(\.(?!0+$)\d{1,3})?$   逍遥兄

还是有点问题哦我输入     1.000过不了呀, 刚没有测试到, 应该是可以的呀
只要所有数字大于0就好

#8


1.000,小数点后面都是0 可以么?

#9


那这样

^(?!0\d)(?![0.]+$)\d+(\.\d{1,3})?$

#10


可以。。。。

#11


逍遥兄
   这样又面临一个问题直接输入一个0 又不可以,  是应该是如果直接输入一个0 可以两个以上就不可以包括2个。   如果带小数则第一位可以为0  然后判断后面的是不是全部大于0 

^(?!0\d)(?![0.]+$)\d+(\.\d{1,3})?$  可以输入 1.000   1.00 这样是对的
可是直接输入0 就不可以了,  麻烦再看看

#12


^(0\\.(?!0+$)\\d{1,3}||([1-9][0-9]*(\\.\\d{1,3})?))$

#13


没太理解。你希望的规则如何的。哪些是可以的?
0或是大于0的,但0不能写成0.000或00.000这样的意思?

#14


如果是我猜测的意思

^(?!0\d)(?!0\.0+$)\d+(\.\d{1,3})?$

#15


用这个:
^(0(\\.(?!0+$)\\d{1,3})?||([1-9][0-9]*(\\.\\d{1,3})?))$

#16


可以了谢谢

#17


结贴了谢谢.

#1


一看正则表达式就头晕,帮顶!

#2


改为小数后面至少有一个不为0就可以了

#3


^(([1-9][0-9]*)(\.[0-9]{1,3})|(0.[]1-9){1,4})?$
你试试吧 

#4


^(?!0\d)\d+(\.(?!0+$)\d{1,3})?$

#5


^(?!0\d)\d+(\.(?!0+$)\d{1,3})?$

正解太谢谢 逍遥兄

#6


引用 3 楼 chenlanglin 的回复:
^(([1-9][0-9]*)(\.[0-9]{1,3})|(0.[]1-9){1,4})?$
你试试吧


这位朋友的提示我正则少一个] 看了一下不太清楚 呵呵, 现在逍遥解决了

#7


^(?!0\d)\d+(\.(?!0+$)\d{1,3})?$   逍遥兄

还是有点问题哦我输入     1.000过不了呀, 刚没有测试到, 应该是可以的呀
只要所有数字大于0就好

#8


1.000,小数点后面都是0 可以么?

#9


那这样

^(?!0\d)(?![0.]+$)\d+(\.\d{1,3})?$

#10


可以。。。。

#11


逍遥兄
   这样又面临一个问题直接输入一个0 又不可以,  是应该是如果直接输入一个0 可以两个以上就不可以包括2个。   如果带小数则第一位可以为0  然后判断后面的是不是全部大于0 

^(?!0\d)(?![0.]+$)\d+(\.\d{1,3})?$  可以输入 1.000   1.00 这样是对的
可是直接输入0 就不可以了,  麻烦再看看

#12


^(0\\.(?!0+$)\\d{1,3}||([1-9][0-9]*(\\.\\d{1,3})?))$

#13


没太理解。你希望的规则如何的。哪些是可以的?
0或是大于0的,但0不能写成0.000或00.000这样的意思?

#14


如果是我猜测的意思

^(?!0\d)(?!0\.0+$)\d+(\.\d{1,3})?$

#15


用这个:
^(0(\\.(?!0+$)\\d{1,3})?||([1-9][0-9]*(\\.\\d{1,3})?))$

#16


可以了谢谢

#17


结贴了谢谢.