ASP MVC 5 C#.NET Regex价格注释不起作用

本文关键字:注释 不起作用 Regex NET MVC ASP | 更新日期: 2023-09-27 18:25:20

我使用下面的正则表达式作为价格,但它并没有强制使用有效的价格。

[RegularExpression(@"^'d+('.'d{2})?$", ErrorMessage = "Invalid price.")]

它阻止了大多数非价格输入,但允许以下形式的价格:

3.

21.

等等。

为什么它允许小数,但不需要两位数?如果存在小数,我的正则表达式会是什么样子来强制使用数字?

ASP MVC 5 C#.NET Regex价格注释不起作用

由于表达式中的量词?,它可能允许使用没有小数点的数字。

量化器(..)捕获包含在parens 中的所有内容

量化器?表示"零或前一个"

()?捕获包含在parens中的所有内容中的零个或一个。

所以"。"并且这两个数字可以出现零次或一次。

这个表达式应该可以解决问题。因为它不是封闭的并且没有量词CCD_ 5。

^''d+(.''d{2})或^''d+。''d{2}$

您可以使用此网站来帮助构建正则表达式。https://regex101.com/