js replace 全局替换【转】

js 的replace 默认替换只替换第一个匹配的字符,如果字符串有超过两个以上的对应字符就无法进行替换,这时候就要进行一点操作,进行全部替换。

var str = "javascript";
console.log(str .replace("a","A"));//输出:jAvascript

上面这段代码,只能替换第一个字符“啊”,第二个“a”就无法替换,这样就没办法满足大多数使用js(replace)的需求

var str = "javascript";
console.log(str.replace(/a/g, "A"));//输出:jAvAscript

这样,就可以实现整个字符串的替换。
我们这里用到了正则函数的/g全部的使用。这样就可以实现整个字符串的替换效果。
下面,我们大家可能还有个需求无法满足,那就是,我们替换定值可以使用这个,但是替换变量怎么使用?
接下来,就说一下替换变量的使用方式。
简单介绍一下eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。接下来主要靠这个函数。

var ch = "a";
var reg = "/"+ch+"/g";
var str = "javascript";
console.log( str.replace(eval(reg),"A"));//输出:jAvAscript

但是如果要替换的字符串中含有/符号时,上面的就不能用了,需要采取以下方法

var ch = "/";
var str = "java/script";
console.log(str .replace(new RegExp(ch,'g')," "));//输出:java script

文章参考:https://www.cnblogs.com/stubborn-donkey/p/9173089.html

posted @ 2020-04-13 18:43  小猿笔记  阅读(783)  评论(0编辑  收藏  举报