ASP.NET货币正则表达式

时间:2015-04-28 01:39:40

标签: asp.net regex validation webforms

所需的货币格式如下

1,100,258
100,258
23,258
3,258

或者所有整数都喜欢 1234562421323等等。

我在ValidationExpression

下面输入
(^[0-9]{1,3}(,\d{3})*) | (^[0-9][0-9]*)

但它没有用。

1 个答案:

答案 0 :(得分:1)

你有ignore pattern whitespace吗?如果没有,请移除管道两侧的两个空格。

由于您要尝试匹配,您应该在字符串末尾添加标记$,就像这样

当您使用^[0-9][0-9]*

时,^[0-9]+又有什么意义呢?
^([0-9]{1,3}(?:,\d{3})*|[0-9]+)$

^(\d{1,3}(?:,\d{3})*|\d+)$

说明:

 ^                     # Anchors to the beginning to the string.
 (                     # Opens CG1
     \d{1,3}           # Token: \d (digit)
     (?:               # Opens NCG
         ,             # Literal ,
         \d{3}         # Token: \d (digit)
                         # Repeats 3 times.
     )*                # Closes NCG
                         # * repeats zero or more times
 |                     # Alternation (CG1)
     \d+               # Token: \d (digit)
                         # + repeats one or more times
 )                     # Closes CG1
 $                     # Anchors to the end to the string.