Js(⼀):replace替换字符串中所有的某个字符今天因⽼师项⽬需要,在JavaScript中需要替换⼀段字符串中所有的指定字符串,给转义替换⼀下。刚开始有了思路逻辑之后,我以为⽤place可以达到效果,使⽤后发现逻辑没有问题却怎么都达不到预期的效果。后来才知道js的replace只能替换第⼀个字符串,后来查了⼀些API的资料才知道原来⽤<;正则表达式>来实现替换所有字符串!
Replace(“字符串1″, “字符串2″)
JS中字符串替换函数是Replace(“字符串1″, “字符串2″),其意义是⽤字符串2将字符串1中的字符替换,但是这个函数只能将第⼀次出现的字符串1替换掉。
那么我们如何才能⼀次性全部替换掉了?
正则
replace如果替换数据时,默认只替换第⼀个。如果在替换的时候加上: / 替换内容 /g 就能实现全部替换。
字符串比较函数实现例如:
function change(strvalue){
strvalue = place(/&/g,"&");
strvalue = place(/</g,"<");
strvalue = place(/>/g,">");
strvalue = place(/"/g,"\"");
strvalue = place(/'/g,"'");
return strvalue;
}
strvalue = place(/</g,"<");第⼀个参数的位置传递为正则表达的转义字符,注意该参数是不加引号的,这是⼀个容易掉进去的坑!这个问题了有个许久!
如果还不是很理解,下⾯给⼀个某博主的例⼦,个⼈认为⽐较形象:
var t = '***感**谢**有**你***';
var r = t.replace(/\*/g,''); //\为转义字符 g表⽰全局
console.log(r) //感谢有你
var t = '***感**谢**有**你***';
var r = t.replace('*','');
console.log(r) //感谢有你
其中,/g表⽰正则表达中的全局替换,/\表⽰转义字符,⽤/也可以。然后在控制台测试⼀下这两个例⼦你就体会得更清楚了~
我的应⽤如:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论