将字符串转换为时间码模式?

时间:2017-03-11 07:45:15

标签: javascript timecodes

如何通过以下结果(一些示例)将零填充到我的字符串中:

  • 1 => 01
  • 01.0 => 01.00
  • 1.0.01.00 => 01.00.01.00
  • 1.0.0.0 => 01:00:00:00
  • 10.0.10.0 => 10:00:10:00

这是我到目前为止所提出的,但它并没有给我我想要的东西。 谢谢你的帮助!

tc = tc.replace('.', ':');
tc = tc.replace(',', ':');
tc = tc.replace(/(:|^)(\d)(?=:|$)/g, "$10$2");

1 个答案:

答案 0 :(得分:0)

0添加到由单词边界(\b)包围的所有单个数字,然后使用字符集[.,]用冒号替换每个逗号和句点。不要忘记在每个正则表达式上使用全局(g)标志,以便替换每个出现的目标模式,而不仅仅是第一个。

function timecode (s) {
  return s.replace(/\b(\d)\b/g, '0$1').replace(/[.,]/g, ':')
}

console.log(timecode('1') === '01')
console.log(timecode('01.0') === '01:00')
console.log(timecode('1.0.01.00') === '01:00:01:00')
console.log(timecode('1.0.0.0') === '01:00:00:00')
console.log(timecode('10.0.10.0') === '10:00:10:00')