我有一个网站,我在这里计算两次输入之间输入的两次(开始时间结束时间)之间的小时和分钟。结果保存在标签内。
这是一个例子:
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/