C# 为什么我使用RegularExpression作为DataAnnotation时不识别前导零?
我的实体中有一个字段,其中有一个正则表达式作为DataAnnotation:C# 为什么我使用RegularExpression作为DataAnnotation时不识别前导零?,c#,asp.net-mvc,regex,validation,C#,Asp.net Mvc,Regex,Validation,我的实体中有一个字段,其中有一个正则表达式作为DataAnnotation: @"^\$?([0-9]{6})(.[0-9]){0,1}?$" 它总是很好用,除非我在数字前用零 前 如果我对Regex.IsMatch做同样的验证,它会说是可以的 如何强制MVC在进行验证时保留前导零?最后,我使用了一个字符串变量,这就是有效的方法: ^\$?([0-9]{6})(\[0-9])$ 我听从了@Sinsedrix和@Michelle的建议 @hwnd应该允许您在小数点后写一位数字,或者什么也不写。
@"^\$?([0-9]{6})(.[0-9]){0,1}?$"
它总是很好用,除非我在数字前用零
前
如果我对Regex.IsMatch做同样的验证,它会说是可以的
如何强制MVC在进行验证时保留前导零?最后,我使用了一个字符串变量,这就是有效的方法: ^\$?([0-9]{6})(\[0-9])$
- 我听从了@Sinsedrix和@Michelle的建议
字符,您应该在第二个组中转义句点。否则它将匹配“123456Q1”123456@1“,等等。{0,1}
后跟?
是多余的。
- 123456.1 Work
- 012345.1 Does Not Work