MVC4中的正则表达式验证

时间:2015-05-26 14:40:11

标签: asp.net regex asp.net-mvc-4

我想允许双数据类型为

输入有效价格,最多6位数或4位真实和2位小数

    [Required]
    [RegularExpression(@"^\d+(\.\d{4,2})?$", ErrorMessage = "Enter valid Price, Maximum upto 6 digits or 4 digits real and 2 fractional.")]
    public double Price { get; set; }

我在视图页面上收到parsing "^\d+(\.\d{4,2})?$" - Illegal {x,y} with x > y.

的错误消息

非常感谢帮助。 感谢

1 个答案:

答案 0 :(得分:4)

在正则表达式语法中,{4,2}表示至少4次,最多2次。这是导致错误的原因,因为4大于2。颠倒顺序,它应该工作。

话虽如此,我不确定这个表达是否会像你追求的那样。您可以尝试使用^(\d{1,6})|(\d{1,4}\.\d{1,2})$匹配最多6位数的整数,或者整数部分中最多4位数的分数和小数部分最多2位数。