如何把2011-01-01和2011/01/01转换成2011.01.01

来源:2-8 分组

jioqq237

2018-08-24 00:43

想把字符串中的时间格式,例如2011-01-01和2011/01/01,都换成2011.01.01

我试了下面的写法,但是结果有问题

这是我一开始的写法:

'2011-01-01'.replace(/^(\d{4})(-|/)(\d{2})(-|/)(\d{2})/, '$1.$2.$3') ;

结果报错

然后我就加了转义

'2011-01-01'.replace(/^(\d{4})(-|\/)(\d{2})(-|\/)(\d{2})/, '$1.$2.$3') ;

结果变成2011.-.01

为什么会这样?

写回答 关注

4回答

  • 努力学习啊啊啊
    2018-09-05 09:20:09
    已采纳
    '2011/01/01'.replace(/[\-\/]/g,  '.');



    jioqq2...

    []里面是不是不能用|

    2018-09-28 21:49:21

    共 2 条回复 >

  • 1frgdhf
    2019-02-18 15:03:52

    '2015-12-25'.replace(/(\d{4})(-|\/)(\d{2})(-|\/)(\d{2})/g,'$1.$3.$5')

  • 海龙独仙
    2018-09-09 18:05:46

    因为你/^(\d{4})(-|\/)(\d{2})(-|\/)(\d{2})/   (-|\/) 这个也是一个分组。 [-/] 这个才是或的关系

  • jioqq237
    2018-08-24 00:49:11


    '2011-01-01'.replace(/^(\d{4})[-/](\d{2})[-/](\d{2})/, '$1.$2.$3')
    可以实现,为什么用|就不行

JavaScript正则表达式

JavaScript正则表达式教程,理解之后,正则表达式比你想象的简单

96814 学习 · 119 问题

查看课程

相似问题