正则表达式日期和时间

use*_*472 3 c# asp.net razor asp.net-mvc-3

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

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

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

即使我输入了正确的代码,我也会收到错误消息“错误的语法”。似乎是什么问题。任何帮助将不胜感激 非常感谢

Arn*_*kas 5

这是因为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}")]
Run Code Online (Sandbox Code Playgroud)

  • @user1137472 尝试在字符串之前添加一个 @,如下所示:`[RegularExpression(@"\d{2,2}/\d{2,2}/\d{4,4} \d{2,2} :\d{2,2}:\d{2,2}")]`。这将使编译器接受该字符串,即使它包含无法识别的转义序列(如 `\d`)。 (2认同)