在ASp中使用regulareexpression validator进行货币验证.显示数据表格

本文关键字:验证 货币 显示 数据 表格 数据表 ASp validator regulareexpression | 更新日期: 2023-09-27 18:12:41

我有一个GridView与TextBox字段内的TemplateField存在。TextBox与RegularExpressionValidator控件绑定,以验证金额字段。下面是代码-

<asp:TextBox ID="txt1" runat="server" Text='<%# Eval("Amt", "{0:C}")%>'></asp:TextBox>
<asp:RegularExpressionValidator ID="rev1" runat="server" ControlToValidate="txt1" ErrorMessage="*" ValidationExpression="['$]*'$?'d+(,'d{1,12})?(.'d{1,2})?" Display="Dynamic"></asp:RegularExpressionValidator>

问题是上面的代码验证- $1,2345678.00,但不验证$1,23,456,78.00。我注意到,如果文本框有超过1个逗号,则验证失败。我如何修复这个正则表达式?

在ASp中使用regulareexpression validator进行货币验证.显示数据表格

首先,您应该转义最后一组中的点.。除此之外,我认为只要将'one or more quantifier': '+'添加到逗号之间匹配可能整数的组就足够了。这样的:

['$]*'$?'d+((,'d{1,12})+)?('.'d{1,2})?

我希望我正确理解了你的问题。