我有一个网站,我正在计算在两个输入元素中输入的两个时间(开始时间结束时间)之间的小时和分钟。结果保存在标签内。
这是一个例子:
Starttime: 08:00
Endtime: 15:30
TimeSpend: 7 hours 30 Minutes
我需要将 Timespend 值发送回我的后端,但不是以这种形式。我想以如下形式发送:
7:30
等等
我使用以下 JavaScript 过滤掉小时和分钟:replace(/[^0-9]/g,'');
结果是 730。
如何在 7 到 30 之间添加冒号以方便查看
例如:730 --> 7:30
?对于 1120 --> 11:20
应该同样有效。
最佳答案
您可以将第二个正则表达式应用于 timespend
,它标识最后两个字符并在前面插入一个冒号:
replace(/(.{2})$/,':$1');
工作示例:
var paragraphs = document.getElementsByTagName('p');
var timespend = '7 hours 30 Minutes';
paragraphs[0].textContent = timespend;
timespend = timespend.replace(/[^0-9]/g,'');
paragraphs[1].textContent = timespend;
timespend = timespend.replace(/(.{2})$/,':$1');
paragraphs[2].textContent = timespend;
<p></p>
<p></p>
<p></p>
关于javascript - 在字符串的某个位置添加冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40783491/