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

javascript的replace方法配合正则使用

replace()方法用于在字符串中用一些字符替换另一些字符,或者替换一个正则表达式匹配的字符串

var name="aaa bbb ccc";
//name字符串去匹配/\b\w+\b/g表达式,结果有三个——aaa,bbb,ccc;每个结果执行function里面的方法
var uw = name.replace(/\b\w+\b/g,function(word){
	alert(word);
	return word.substring(0,1).toUpperCase()+word.substring(1);
});
alert(uw);

?

function ReplaceDemo(){
   var r, re;                      // 声明变量。
   var ss = "The rain in Spain falls mainly in the plain.";
   // \s表示的是空格,则\S表示的是非空格,因此/(\S+)(\s+)(\S+)/g匹配的是“非空格空格非空格”的结果
   //匹配的结果有The rain、in Spain、falls mainly、in the
   //替换后的结果有rain The、Spain in、mainly falls、the in
   re = /(\S+)(\s+)(\S+)/g;        // 创建正则表达式模式。
   //更改匹配结果之间的顺序
   r = ss.replace(re, "$3$2$1");   // 交换每一对单词。
   return(r);                      // 返回结果字符串。
}
alert(ReplaceDemo());

?

name = "Doe, John";
//更改两个单词之间的顺序
var temp = name.replace(/(\w+)\s*, \s*(\w+)/, "$2 $1");
alert(temp);

?

function SDReplaceData(objStr)
{
    return objStr.replace( /(\&|\')/g,
                          function($0, $1)
                          {
                              return{
                                  "&" : "&"
                                , "'" : "'"
                              }[$1];
                          }
                         );
}

?