日期:2014-05-16  浏览次数:20379 次

JavaScript 替换全部字符串replace

今天因工作需要需要替换一段字符串中所有的指定的字符串,刚开始我以为用js的replace就能满足需求,但是使用后才知道js的replace只能替换第一个字符串,后来经过查找相关资料才知道原来用正则表达式来实现替换所有字符串!

<script language="javascript">
var strM = "javascript is a good script language";
//在此我想将字母a替换成字母A
alert(strM.replace("a","A"));
</script>

只能替换第一个“a”字母

<script language="javascript">
var strM = "javascript is a good script language";
//在此将字母a全部替换成字母A
alert(strM.replace(/a/g,"A"));
</script>

另外一个关于js替换所有字符串的解释说明:

我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉,那么我们如何才能一次性全部替换掉了?
首先我们看一下下面这段代码:

<html>
<script type="text/javascript" language="javascript">
var s = "\"HELLO\"";
alert(s);
alert(s.replace(/\"/g, ""));
</script>
</html>

将上面的代码保存到HTML文件中就可以在浏览器中看到效果了。
怎么样?如果看懂了就不用往下看了,不懂就接着往下看:
其实我们用到了JS中的正则表达式,/\”/g中/\”表示是要找到字符串,这个我们要找的就是引号,/g是正则表达式的语法,表示全部的意思,在这里就表示全部替换。
所以上面代码的意思就是将字符串中的引号全部去掉。


本文来自: 114JAVA技术网(www.114java.com) 详细出处参考:http://www.114java.com/WEBqianduan/javascript/2010051161.html

http://huodong.duomi.com/music_303029713_Listen.html

?

-------------------------------------------------------

replace如果替换数据时,默认只替换第一个。

如果在替换的时候加上: / 替换内容 /g 就能实现全部替换

例如:

function change(strvalue){
strvalue = strvalue.replace(/&amp;/g,"&");
strvalue = strvalue.replace(/&lt;/g,"<");
strvalue = strvalue.replace(/&gt;/g,">");
strvalue = strvalue.replace(/&quot;/g,"\"");
strvalue = strvalue.replace(/&#39;/g,"'");
return strvalue;
}

?

http://huodong.duomi.com/music_303029713_Listen.html