正则表达式校验金额最多保留两位小数
^(([1-9]{1}\d*)|(0{1}))(\.\d{1,2})?$
第一步,小数点之前表达式
两种情况:
55.5 不能以0开头
[1-9]{1}\d*
0.5 开头为0,并且只有1位
0{1}
两种情况结合起来:
([1-9]{1}\d*)|(0{1})
第二步,小数点及小数位置
三种情况:
5.1 只有一位小数
5.12 有2位小数
\.\d{1,2}
5 没有小数
(\.\d{1,2})?
0识别错误,可用这个:(([1-9]{1}\d*)(.\d{1,2})?)|(0{1}.\d{1,2})
该博客详细介绍了如何使用正则表达式来验证金额输入,确保其最多保留两位小数。作者分别解析了小数点前的数字处理和小数点及小数部分的规则,同时指出0的特殊处理。文中还提供了一个修正后的正则表达式,以避免0的误识别问题。
5万+

被折叠的 条评论
为什么被折叠?



