我有一个网站,我在这里计算两次输入之间输入的两次(开始时间结束时间)之间的小时和分钟。结果保存在标签内。

这是一个例子:

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/

10-14 13:52