replace函数一次只能替换一个目标字符串,可以配合while循环替换所有字符串。
1、在script标签中定义一个字符串,字符串内容为“一个中国北方的中国人在做中国结”,然后将内容输出在网页中:
2、使用replace函数,这时第一个“中国”文本被空字符串替换,但是还有两个“中国”文本没有被替换:
3、添加while循环,循环条件用“indexOf”函数来判断是否“中国”两个字还存在,如果存在则继续替换,不存在则结束,这时所有的目标字符串都被替换完成:
方法1:循环替换,因为js里的replace默认只会替换一个1
2
3
4
var a = 'abcdefhij'
while(a.indexOf('') >= 0)
a = a.replace('',',')
alert(a)
方法2用正则替换:
1
2
3
var a = 'abcdefhij'
a = a.replace(//g,',')
alert(a)
string 的 replace 方法,第一个参数是正则表达式对象。如果替换所有 , 应该开启正则表达式对象的 g 属性
var b = a.replace(/,/g , ".") // 正则表达式的直接表示/expression/mode , 双斜线间是表达式,后面是 模式
如果不熟悉正则表达式,纯粹的字符串替换,可以使用
var b = a.split(",").join(".") // 实现
如果,想进一步了解正则表达式,可以参考视频:
http://www.iscripts.org/forum.php?mod=viewthread&tid=3