Javascript 使用Jquery自动格式化秒表时间输入

Javascript 使用Jquery自动格式化秒表时间输入,javascript,jquery,Javascript,Jquery,我有一个在我的网站上的输入允许人们把他们的时间,并希望它是一个秒表式的格式 以下是我到目前为止的情况: 我需要它做的是,如果有人把60秒,它会自动格式化为00:60:00 有什么方法可以将其格式化,以允许它在60之前和之后自动添加00,但仍保留用户输入完整的分钟:秒:密耳时间设置的能力 我是新加入regex的,我想弄明白,如果这是一个简单的解决办法,请原谅我 更多详细信息,请添加: 用户将输入体育赛事时间,输入格式为00:00:00分钟:秒:毫秒。如果用户在60秒内完成了一个事件,计分员只需键

我有一个在我的网站上的输入允许人们把他们的时间,并希望它是一个秒表式的格式

以下是我到目前为止的情况:

我需要它做的是,如果有人把60秒,它会自动格式化为00:60:00

有什么方法可以将其格式化,以允许它在60之前和之后自动添加00,但仍保留用户输入完整的分钟:秒:密耳时间设置的能力

我是新加入regex的,我想弄明白,如果这是一个简单的解决办法,请原谅我

更多详细信息,请添加:


用户将输入体育赛事时间,输入格式为00:00:00分钟:秒:毫秒。如果用户在60秒内完成了一个事件,计分员只需键入60而不是00:60:00,我想找到一种方法来检查条目,这样,如果他们将一半的条目放在前面,就会将其更正为添加00:或弹出一条解释正确格式的消息。如果您确实想使用正则表达式,请尝试以下方法:^?:\d{2}:{2}\d{2}$。从技术上讲,您也可以使用^?:\d\d:{2}\d\d$,我想这实际上是缩短了2个字符。两者的作用相同:只有00:00:00应该与之匹配,所以如果字符串不匹配,那么可以用00:{user value}:00替换它

Javascript有一种快速的方法可以根据regex:/regex/.teststring测试字符串

充分地:

var regex = /^(?:\d{2}:){2}\d{2}$/;

$(".time_score").blur(function() {
  var value = $(this).val();
  if (!regex.test(value)) {
    $(this).val("00:" + value + ":00");
  }
});
下面是一个更新的工作示例:


从您的代码中,我将其更改为on blur,只是为了防止每次有人输入内容时触发此功能,就像您使用keydown时所做的那样。

尝试一下,这会有所帮助。您能否更明确地说明您要实现的目标?有些用例是什么?@Andreiciara在01:00:00添加了更多细节,需要60秒而不是自动格式化?
var regex = /^(?:\d{2}:){2}\d{2}$/;

$(".time_score").blur(function() {
  var value = $(this).val();
  if (!regex.test(value)) {
    $(this).val("00:" + value + ":00");
  }
});