【发布时间】:2026-01-26 08:30:01
【问题描述】:
我有一个秒表变量,可以按以下格式获取值:
HH:MM:SS 大部分时间。 'HH' 可以超过 24 小时 - 基本上是任何有效数字。
我对这个正则表达式的东西不太好,但能够写出对大多数情况都有好处的东西,但无法验证小时是否为个位数。前任。下面的正则表达式通过时间1:10:09,虽然它是无效的。有效小时部分应为01。
//var stopWatchTime = '02:10:09'; //Valid
//var stopWatchTime = '00:10:09'; //Valid
//var stopWatchTime = '1234:10:09'; //Valid
//var stopWatchTime = ':10:09'; //Invalid
//var stopWatchTime = 'ax:10:09'; //Invalid
var stopWatchTime = '1:10:09'; //Invalid, should be 01:10:09.
if(!stopWatchTime .match(/^\d+:\d{2}:\d{2}$/)){
alert('invalid time- ' + stopWatchTime);
}
else{
alert('valid time - ' + stopWatchTime);
}
我应该在正则表达式中进行哪些更改以说明它应该检查任何数字,但小时部分应该有 2 位或更多位?
【问题讨论】:
-
/^\d+:\d{2}:\d{2}$/ 应该是 /^\d{2}:\d{2}:\d{2}$/
-
@Nemanja,那是我原来的正则表达式,但它在小时部分中所占的位数不超过 2 位。
-
@Ohgodwhy,我无法在超过 2 位数的时间内完成这项工作。
标签: javascript jquery regex time