js正则替换 各种技巧

代码如下:

        var str = '纳兰雪'; return new Array(str.length).join('*') + str.substr(-1);
                    

这种方法的原理是取最后一个字符,其他的根据字符串长度生成对应的*个数。通过new Array(str.length).join('*')获得元素的间隔,然后拼接这些间隔,拼出来的刚好是少一个字符,再加上截取的最后一个字符。

另一种方法:

        'wuhaidong很牛逼的'.replace(/.(?=.)/g, '*');
                    

这里主要用的是正则的(?=pattern),这东西还真没用过,平时看手册都不会去注意,原来这么有用的。可以理解为不占匹配位,不占匹配位就不会替换。

标签: js

new 发布于 2018-1-23 02:57