首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >修改regex以采用h:mm时间格式,并添加hh:mm

修改regex以采用h:mm时间格式,并添加hh:mm
EN

Stack Overflow用户
提问于 2015-09-17 22:52:09
回答 2查看 697关注 0票数 0

我有这个大梁

^(10-2\01-9):0-5\040(上午上午下午下午)$

并且它验证了这个时间格式:hh:mm AM|am|PM|pm,例如04:25 pm11:20 am

如何使4:25 pm (在4之前没有0 )也是有效的?换句话说,让h:mm成为有效的时间格式,加上hh:mm,请解释一下,这样我才能理解你在做什么。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-17 22:58:09

试试这个:

代码语言:javascript
运行
复制
^([1-9]|1[0-2]|0[1-9]):[0-5][0-9]\040(AM|am|PM|pm)$
票数 1
EN

Stack Overflow用户

发布于 2015-09-18 20:52:08

下面是一种用MVC应用程序编写DateTime验证的非正则化方法:

代码语言:javascript
运行
复制
[Required(ErrorMessage = "This value is required!")]
[MyValidateTime]
public string TimeValue { get; set; }

下面是MyValidateTime代码:

代码语言:javascript
运行
复制
public class MyValidateTime: ValidationAttribute
{
    protected override ValidationResult IsValid(object value, ValidationContext validationContext)
    {                 
        DateTime dt;
        if (DateTime.TryParseExact((string)value, new[] { "hh:mm tt", "h:mm tt" }, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
            return ValidationResult.Success;
        else
            return new ValidationResult("Correct time formats: 01:00 AM or 1:00 AM");
    }
}

在这里,允许的时间格式是:

  • hh:mm tt (上午01:00)
  • h:mm tt (凌晨1:00)

请参阅更多 MSDN page

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32641198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档