用于显示货币的两位小数正数正则表达式需求
匹配两位小数全球货币格式的正则表达式
正则表达式
^[1-9]\d*(?:[.,]\d{2})?$
规则说明
这个正则完全贴合你的需求,各部分作用拆解:
^:锚定字符串起始位置,确保匹配从开头开始[1-9]\d*:定义整数部分,第一位必须是1-9(杜绝前导零),后续可跟任意数量数字(包括零个,支持单个数字如5)(?:[.,]\d{2})?:可选的小数部分(非捕获组,不额外占用分组):[.,]:匹配点或逗号作为小数分隔符\d{2}:严格匹配两位小数?:表示小数部分可以不存在(纯整数也符合要求)
$:锚定字符串结束位置,确保没有多余字符
匹配示例(符合要求)
- 纯整数:
123、9 - 带点分隔符:
123.45、5.00 - 带逗号分隔符:
456,78、100,00
不匹配示例(不符合要求)
- 前导零:
0123、0 - 小数位数错误:
123.4(仅1位小数)、789,123(3位小数) - 多个/混合分隔符:
123..45、678,.90 - 负数:
-123.45
内容的提问来源于stack exchange,提问作者Remzi Cavdar
相关产品推荐
相关产品推荐

