正则表达日期和时间

时间:2012-01-14 20:59:49

标签: c# asp.net asp.net-mvc-3 razor

大家好我有以下明确的验证

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

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

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

3 个答案:

答案 0 :(得分:4)

这是因为RegularExpressionAttribute需要一个正则表达式模式,并且您提供的是.NET字符串格式模式(MSDN: RegularExpressionAttribute Class)。

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

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

答案 1 :(得分:0)

使用真正的正则表达式替换RegularExpression属性中的字符串。从这个正则表达式的库网站尝试其中一个:

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

尝试第一个。

答案 2 :(得分:0)

有关MVC中客户端和服务器验证的完整指南(使用类似TextBoxFor的内容),请参阅我的答案: Validate Date in MM/dd/YYYY format in mvc