这是一个符合你需求的价格正则表达式:
^(0|[1-9]\d{0,3})(\.\d{1,2})?$
解析:
-
^(0|[1-9]\d{0,3})
0
:允许单独的 0
。[1-9]\d{0,3}
:匹配从 1
到 9999
的整数部分。
-
(\.\d{1,2})?
\.
:小数点。\d{1,2}
:允许小数点后最多两位数字。?
:小数部分是可选的。
-
$
示例匹配:
值 | 是否匹配 | 说明 |
---|
0 | ✅ | 最低值 |
0.01 | ✅ | 有效小数 |
123 | ✅ | 有效整数 |
9999.99 | ✅ | 最大值 |
10000 | ❌ | 超出范围 |
-1 | ❌ | 不允许负数 |
0.001 | ❌ | 小数点后超过两位数 |
你可以根据需求直接使用这个正则表达式。