我需要一个正则表达式来验证时间格式 HH:MM:SS:mm [重复]
Posted
技术标签:
【中文标题】我需要一个正则表达式来验证时间格式 HH:MM:SS:mm [重复]【英文标题】:I need a RegEx for validationg a time format HH:MM:SS:mm [duplicate] 【发布时间】:2013-10-12 10:59:23 【问题描述】:我想检查表单中的输入以验证此格式。
我使用这个 RegEx,但它不像我想要的那样工作(采用这种格式 HH:MM:SS:mm)
HH:小时 MM:分钟 SS:秒 mm : 毫秒
/^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(?:\\.([0-9]1,3))?$/i
我已经使用 jquery 验证插件来测试表单,这是我创建的方法示例,包括这个 RegEx:
$.validator.addMethod("timeFormat", function(value, element)
return this.optional(element) || /^([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(?:\\.([0-9]1,3))?$/i.test(value);
, "");
这有什么问题?
【问题讨论】:
这是一个非常简单的正则表达式。您要求我们为您编写它的事实表明,即使是最简单的正则表达式介绍教程,您也懒得阅读,并且没有表现出要求我们提供代码所需的“最低限度的理解”。 不,只是我不知道如何使它正确,我已经测试过这个 /^([01][0-9]|2[0-3]):( [0-5][0-9]):([0-5][0-9])(?:\\.([0-9]1,3))?$/i 但它没有不像我想要的那样工作:( 看,现在在您的问题中包含该正则表达式,并告诉我们它为什么不起作用。然后我们可以重新打开它。 还向我们展示了一些应该有效但无效的输入 @user167163999:99:99:99
是有效时间吗? OP 应该将 ?:\\.([0-9]1,3)
替换为 :\d2
。
【参考方案1】:
试试这个正则表达式
([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(:|\.)\d2
Regexplained
【讨论】:
这在最后 2 位毫秒内不起作用??我已经对此进行了测试,它可以工作,但以毫秒为单位,它可以是 99 最大值:([01][0-9]|2[0-3]):([0-5][0-9]):([0 -5][0-9]):([0-5][0-9]) @kach 你可以试试这个([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(:|\.)([0-9]1,2)
@kach 我也检查了这个([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(:|\.)\d2
这似乎很好【参考方案2】:
我认为这是你需要的:
([01]\d|2[0-3])(:[0-5]\d)2:\d1,3
(毫秒最多为三位数)
【讨论】:
以上是关于我需要一个正则表达式来验证时间格式 HH:MM:SS:mm [重复]的主要内容,如果未能解决你的问题,请参考以下文章