日期:2014-05-18  浏览次数:20538 次

为什么javascript中的replace只替换第一个字符
var   str   =   "aaa,bbb,ccc ";
str   =   str.replace( ", ", "- ");
alert(str);
--------------
结果是“aaa-bbb,ccc”
我想要“aaa-bbb-ccc”
除了循环有没有简单的办法?

不好意思,由于小弟问题太多,现在就剩10分了

------解决方案--------------------
有另一办法
var a= "aaa,bbb,ccc ";
a=(a.split( ', ')).join( "- ");
alert(a);
------解决方案--------------------
又可以用正则表达式
var a= "aaa,bbb,ccc ";
var b=a.replace(/,/g, '- ');
alert(b);
------解决方案--------------------
楼上两位 都可实现 用正则 不错 简单明了

有时间讲一下正则表达式后面的参数 比如说 g
------解决方案--------------------
有时间讲一下正则表达式后面的参数 比如说 g
==========
1。
支持三个标志 i g m
i, 执行大小写不敏感的匹配
g, 执行全局匹配,寻找所有匹配
m, 多行匹配(可在含有换行符时使用)

2。
为什么javascript中的replace只替换第一个字符
=====
String.replace 实际上执行的是正则表达式搜索,当第一个参数为字符串的时候,直接搜索此字符串,并替换第一个匹配,故。。。