javascript - 在字符串的某个位置添加冒号

标签 javascript jquery regex

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

这是一个例子:

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/

相关文章:

php - 提交不插入数据?

javascript - 如何使用 jquery 查找特定类的总 tr?

ruby - 如何拆分包含分隔符和转义分隔符的字符串?

javascript - 如何在单击其他元素时编辑所有 href 标签?

javascript - 使用 Apollo-Client 对 GitHub API v4 进行身份验证

php - 在无法获取值的表单中提交禁用的输入

regex - oracle中的记录过滤

c# - 仅当字符串前面没有某些字符时,如何匹配它的一部分?

javascript - Chart.js 传递值数据动态

javascript - 如何在 Facebook 上发布自定义 Web URL 链接?