我试图为我的mvc应用程序创建简单的正则表达式验证。我试过了:
[Required]
[RegularExpression("(\\d\\d\\/\\d\\d\\/\\d\\d\\d\\d)")]
它不起作用。我想强制客户以01/01/2015格式输入日期
答案 0 :(得分:5)
为什么你需要这个案例的正则表达式?使用DisplayFormat
和DataType
:
[Required]
[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
我的意思是用正则表达式验证日期是错误的。没有简单的方法可以验证31/02/2015
或31/04/2015
等日期,而这些日期不是有效日期。
答案 1 :(得分:2)
这可能是由于逃避这么多角色造成的混乱。
这里我通过前置@
来转义整个字符串,并使用量词来浓缩正则表达式,以指定要捕获的每个数字类的字符数:
[RegularExpression(@"(\d{2}/\d{2}/\d{4})")]
但是,由于您使用它来验证日期条目,因此您可能需要考虑将DateTime验证程序用作teo van kot has mentioned,因为此正则表达式不会强制使用有效的日期值。