JavaScript中replace(/./g,'/')替换错误,如何替换日期中的点?
问题解决:日期格式替换错误修正
问题原因
你写的正则表达式 /./g 里的 . 是正则元字符,作用是匹配任意单个字符(包括数字、点号等所有字符),所以执行替换后,字符串里的每一个字符都被换成了 /,才会得到全斜杠的结果。
解决方案
要匹配字符串里的字面量点号,需要对正则里的 . 做处理,有两种常用方式:
- 给点号加反斜杠转义:
/\./g,转义后.就代表字面意义上的点号,不再是匹配任意字符 - 使用字符集包裹点号:
/[.]/g,字符集内的.不需要转义,直接匹配字面点号
修改后的代码示例
var dd = '22.02.2024'; // 方式1:转义点号 dd = dd.replace(/\./g,'/'); // 方式2:字符集匹配点号(任选其一即可) // dd = dd.replace(/[.]/g,'/'); console.log(dd); // 输出 "22/02/2024"
内容的提问来源于stack exchange,提问作者user16626854
相关产品推荐
相关产品推荐

