用于验证数字的正则表达式(6,2)

时间:2016-01-05 04:33:40

标签: c# sql-server-2008 asp.net-mvc-4

我正在使用SQL Server 2008.我有一个数字列(6,2)。 我有一个6位数字的正则表达式,可选2位十进制数字:

[RegularExpression(@"^\d{0,4}(\.\d{0,2})?$", ErrorMessage = "Must be number with maximum 2 decimal places & maximum 7 characters.")]
public decimal? PALLET_W { get; set; }

这允许以下所有值:

1234.34,345.45,45.5,4.5,1234

但是,它不允许这些值:123456,12364.7

我的主要要求是最多7个字符,可选2位十进制数字。

所以,我也需要允许这些值:123456,12364.7

有没有办法这样做?

1 个答案:

答案 0 :(得分:0)

这应该对你有用

^\d{1,6}(\.\d{1,2})?$

您可以对其进行测试here

修改

为此(最多6位数),请使用此

^\d{1,4}((\d{1,2})|(\d\.\d)|(\.\d{1,2}))?$

检查here