【问题标题】:RegEx for currency missing single digit numbers?RegEx 用于缺少一位数字的货币?
【发布时间】:2012-11-01 13:48:04
【问题描述】:

我有以下 RegEx ...

(\d*,?){1,5}\.?\d{2}

...它将成功匹配所有execpt此列表中的单个数字9...

9
99
999
9,999
99,999
999,999
9,999,999
99,999,999
999,999,999

9.99
99.99
999.99
9,999.99
99,999.99
999,999.99
9,999,999.99
99,999,999.99
999,999,999.99

9
99
999
9999
99999
999999
9999999
99999999
999999999

9.99
99.99
999.99
9999.99
99999.99
999999.99
9999999.99
99999999.99
999999999.99

...你能帮我匹配一下吗?也许整个 RegEx 都是错误的,而我只是走运了?

用法

我在客户端 RegularExpressionValidator 中使用它。

技术

ASP.NET 网络表单 4.0

【问题讨论】:

    标签: c# javascript asp.net regex


    【解决方案1】:

    目前您正在寻找一些数字和/或逗号,后跟一个可选点,然后是两个(非可选)数字。您还允许例如99,.99.

    试试

    \d+(,\d{3})*(\.\d{2})?
    

    至少是一个数字,后跟零个或多组(逗号数字 digit digit),然后是可选的(point digit digit)组。

    【讨论】:

    • 请注意,它将允许12323435464,567,456(即第一组可以是任何长度)-您需要第一位是\d+|(\d{1,3}(,\d{3})*),以使其限制为完美逗号-或无逗号。
    猜你喜欢
    • 1970-01-01
    • 2021-12-16
    • 2014-11-14
    • 1970-01-01
    • 2015-04-07
    • 2014-08-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多