正则表达式日期和时间

本文关键字:时间 日期 正则表达式 | 更新日期: 2023-09-27 18:20:14

大家好,我有以下快速验证

    [Required]
    [RegularExpression("{0:d/M/yyyy HH:mm:ss}" , 
    ErrorMessage = "Wrong Syntax")]
    public string Posted { get; set; }` 

但它不允许以下作为日期和时间示例显示的输入:2011年12月12日00:00:00(我不想要这些确切的数字,日期和时间应该允许日期和时间标准逻辑允许的任何数字)

即使我输入了正确的代码,我也会收到错误消息"语法错误"。问题出在哪里。任何帮助都将不胜感激谢谢你这么多

正则表达式日期和时间

这是因为RegularExpressionAttribute需要Regex模式,而您提供的是.NET字符串格式模式(MSDN:RegularExpressionAttribute class)。

对于基本格式验证,您需要使用以下内容:

[RegularExpression(@"'d{2,2}/'d{2,2}/'d{4,4} 'd{2,2}:'d{2,2}:'d{2,2}")]

RegularExpression属性中的字符串替换为真正的正则表达式。从regex的库站点尝试其中一个:

http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5&AspxAutoDetectCookieSupport=1

试试第一个。

有关MVC中客户端和服务器验证(使用类似TextBoxFor的东西)的完整指南,请参阅此处的答案:在mvc 中验证MM/dd/YYYY格式的日期