首页 > 解决方案 > 正则表达式只接受小数和数字,包括零点小数并限制 0

问题描述

我需要为文本框编写一个正则表达式来输入金额。像货币。它应该接受小数和整数。并且还限制 0 和负数。这是我的正则表达式。但它不允许小数。

"nonZero": { "regex": "^[1-9][0-9]*$",
                    "alertText": "* This field cannot be zero",
                    "alertTextCheckboxMultiple": "* Please select an option",
                    "alertTextCheckboxe": "* This checkbox is required",
                    "alertTextDateRange": "* Both date range fields are required"

标签: c#regex

解决方案


实现这一目标的一种方法是使用以下

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

正则表达式演示

在哪里

  • ^(0\.[\d]+)$=> 对于数字0 < x < 1
  • ^(([1-9]{1}|[\d]{2,})(\.[\d]+)?)$其余正数

输出

2131 => Valid
2.3434 => Valid
0.45 => Valid
123 => Valid

234. => Invalid
.5234 => Invalid
a => Invalid
-123123 => Invalid

推荐阅读