1
<
html
>
2 < head >
3 < title > js 字符串替换问题 </ title >
4 < meta http-equiv ="content-type" content ="text/html;charset=utf-8" >
5 < script >
6 function show_msg()
7 {
8
9 var ori_str = ' 2011-03-28 ' ;
10 var rep_str = ori_str.replace( ' - ' , ' / ' );
11 var reg_rep_str = ori_str.replace( / - / g, ' / ' );
2 < head >
3 < title > js 字符串替换问题 </ title >
4 < meta http-equiv ="content-type" content ="text/html;charset=utf-8" >
5 < script >
6 function show_msg()
7 {
8
9 var ori_str = ' 2011-03-28 ' ;
10 var rep_str = ori_str.replace( ' - ' , ' / ' );
11 var reg_rep_str = ori_str.replace( / - / g, ' / ' );
var reg_rep_without_g_str = ori_str.replace(/-/, '/');
12 alert('ori_str:' + ori_str + '\r\n' + 'rep_str:' + rep_str + '\r\n' + 'reg_rep_str:' + reg_rep_str + '\r\n' + 'reg_rep_without_g_str:' + reg_rep_without_g_str); 13 }
14 </ script >
15 </ head >
16 < body onload ="show_msg();" >
17 </ body >
18 </ html >
12 alert('ori_str:' + ori_str + '\r\n' + 'rep_str:' + rep_str + '\r\n' + 'reg_rep_str:' + reg_rep_str + '\r\n' + 'reg_rep_without_g_str:' + reg_rep_without_g_str); 13 }
14 </ script >
15 </ head >
16 < body onload ="show_msg();" >
17 </ body >
18 </ html >
执行上面的html代码就会知道replace($pattner, $replace),如果$pattner为一个字符串的话,那么js只做一次替换就结束了。
如果,我们需要把字符串所有匹配的内容都替换掉的话,需要将$pattner设置为1个正则表达式,并且必须带上修饰符g。