货币字段验证

时间:2014-03-07 14:06:36

标签: c# asp.net

有货币字段,只允许正整数而不是小数,最大金额不应超过10亿。它需要在模糊或键盘事件上使用逗号分隔值。为此,我尝试在ajax控件工具包中使用蒙面编辑扩展器,但在初始加载时将逗号放在文本框中。

我现在尝试使用带有^\d+(,\d+)*$的正则表达式验证程序来检查逗号分隔的整数和自定义验证程序,以检查数量是否大于10亿,并使用密钥启动事件将其格式化为逗号分隔。这种方法的问题是它有时允许多个逗号,例如8,000,并且验证正在通过。用户需要再次单击文本框并在模糊时将其重新格式化为8000。

我想知道是否还有其他任何方法可以实现这种功能。

1 个答案:

答案 0 :(得分:0)

您可以使用以下正则表达式

  

^ \ d + [,]?(\ d +)* $

逗号是正则表达式中的可选项,但是? mark表示etheir没有逗号或者一个,而* mark表示etheir没有逗号,一个或多个。

修改

此正则表达式将接受多个逗号,只要它们不跟随另一个逗号。

  

^ \ d +([,]?\ d +)* $