简单的正则表达式日期验证
simply regex date validation
我正在尝试为我的 mvc 应用程序创建简单的正则表达式验证。我试过了:
[Required]
[RegularExpression("(\d\d\/\d\d\/\d\d\d\d)")]
它不起作用。我想强制客户以 01/01/2015
格式输入日期
为什么在这种情况下需要正则表达式?使用 DisplayFormat
和 DataType
:
[Required]
[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
我的意思是用正则表达式验证日期是错误的。没有简单的方法来验证 31/02/2015
或 31/04/2015
这样的日期,这不是有效日期。
可能是转义字符太多造成的混乱。
在这里,我通过在前面加上 @
转义了整个字符串,并通过使用量词指定要捕获的每个数字 class 的字符数来压缩正则表达式:
[RegularExpression(@"(\d{2}/\d{2}/\d{4})")]
但是,由于您使用它来验证日期条目,因此您可能需要考虑使用 DateTime 验证器作为 ,因为此正则表达式不强制执行有效的日期值。
我正在尝试为我的 mvc 应用程序创建简单的正则表达式验证。我试过了:
[Required]
[RegularExpression("(\d\d\/\d\d\/\d\d\d\d)")]
它不起作用。我想强制客户以 01/01/2015
格式输入日期为什么在这种情况下需要正则表达式?使用 DisplayFormat
和 DataType
:
[Required]
[DataType(DataType.DateTime)]
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
我的意思是用正则表达式验证日期是错误的。没有简单的方法来验证 31/02/2015
或 31/04/2015
这样的日期,这不是有效日期。
可能是转义字符太多造成的混乱。
在这里,我通过在前面加上 @
转义了整个字符串,并通过使用量词指定要捕获的每个数字 class 的字符数来压缩正则表达式:
[RegularExpression(@"(\d{2}/\d{2}/\d{4})")]
但是,由于您使用它来验证日期条目,因此您可能需要考虑使用 DateTime 验证器作为