Skip to main content
 首页 » 编程设计

c#之检测输入是否为格式化数字的正则表达式

2024年02月23日32jyk

正则表达式对我来说一直像是黑魔法,我从来没有想过如何构建它们。 我现在需要一个 Reg Exp(用于验证 putsposes)来检查用户是否根据以下规则输入了数字。

  • 没有字母
  • 可以有小数
  • 可以用逗号表示千位,但必须正确放置逗号

一些有效值的例子:

1.23 
100 
1,234 
1234 
1,234.56 
0.56 
1,234,567.89 

无效值:

1.ab 
1,2345.67 
0,123.45 
1.24,687 

请您参考如下方法:

你可以试试下面的表达式

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

解释:

  • 点之前的部分包括
    • 1-3 位数字后跟(一个或多个)逗号加三位数字
    • 或只是数字(至少一个)
  • 如果 then 跟在一个点之后,还必须跟一些数字。