You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript的replace方法中用正则表达式移除点号和冒号

解决JavaScript移除时间字符串中冒号和点号的问题

要同时移除冒号和点号,你需要调整正则表达式,直接匹配这两种字符并全局替换为空。

正确代码示例

console.log(new Date().toISOString().split('T')[1].replace(/[:.]/g, ''))

运行后会输出类似051034654Z的结果,完全移除了所有冒号和点号。

为什么之前的写法无效?

  • 你最初的/:./g是匹配冒号+任意单个字符,所以会把:和后面的数字一起删掉,但点号本身不在匹配规则里,自然留了下来。
  • 尝试的/:\b./g、/(:)(.)/g都是围绕冒号加后续字符做匹配,根本没涉及点号;/:&./g里的&是多余的字面量,原字符串里没有这个字符,完全不生效。

其他等效写法

如果觉得字符类不够直观,也可以分两次替换:

const timePart = new Date().toISOString().split('T')[1];
console.log(timePart.replace(/:/g, '').replace(/\./g, ''));

效果和单次正则替换完全一致。

内容的提问来源于stack exchange,提问作者jospert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 10:10:15