求一个金额的正则表达式

2025-02-28 19:46:13
推荐回答(2个)
回答1:

JS版本
alert(/^(\d+(?:[.]\d{1,2})|[1-9]\d*)$/.test("1.23"));//缺点0.0与0.00也能匹配
alert(/^(0(?:[.](?:[1-9]\d?|0[1-9]))|[1-9]\d*(?:[.]\d{1,2}|$))$/.test("0.00"));//完全满足问题要求
思路:以0打头的则后面必须接小数点且小数点后面必然为01-99,
以大于0的数打头则小数可为1至2位任意数字或无小数部分.

回答2:

JAVA的 [1-9]{1,20}(\\.[0-9]{1,2})?