前一段时间在做电商前台页面时,用到了正则匹配,将字符串中的部分内容替换成指定内容,可以使用replace来进行替换处理。
在使用的过程中,发现replace只能替换前一个,如果该字符串中有多项相同的内容,则无法实现全部替换。
如果要替换字符串中所有的相同内容,则可以使用replaceAll
replaceAll全部替换的方法使用但是在浏览器控制台测试时,发现控制台报错。
查找各种资料后,发现控制台报错的原因是:
我是用的谷歌浏览器,发现谷歌浏览器要是想使用replaceAll方法的话,需要保证浏览器的版本在85以上。
查看谷歌浏览器的版本号:chrome://version发现我的电脑上浏览器版本太低了,解决办法:升级浏览器版本,但是考虑到用户使用的时候,无法强制要求用户升级浏览器版本,因此可以通过其他方法来代替replaceAll的方法:
使用replace+正则:实现全部替换注意两点:
如果正则中有变量,则一定要使用new RegExp的方式来定义正则,用//的方式会导致正则匹配失效字符串的replace方法不能改变原字符串,因此想要改变的话,需要重新赋值才可以。完成!!!