JS中replace和replaceAll不同版本浏览器或Node差异

s = '1.2.3.4'

console.log(s.replace('.',''))

这在不同版本的浏览器或Nodejs中输出的结果可能是不一样的,有的只有第一个点被替换掉,有的是所有的点背替换掉。如果你改成replaceAll,那么又有了新的问题,有的版本说没有replaceAll这个函数:.replaceAll() is not a function。

所以,我们干脆就用replace。replace的第一个参数可以是普通字符串对象,也可以是正则表达式对象,如果想全部替换创建正则表达式的时候,需要用g选项。

注意上面的例子如果用正则表达式,点就不能直接写点了,要用\.。

s.replace(new RegExp('\\.','g'), '')

JS中replace和replaceAll不同版本浏览器或Node差异

 

上一篇:hbase每个RS高达几十上百万个压缩队列 日志显示频繁的minor compaction 现在导致写入数据变的缓慢? 这种情况该如何优化?


下一篇:Reed-Solomon纠错码(RS码)(里德-所罗门码)