方法定义:
/**
* 字符串替换函数
* @param str 待替换的字符串
* @param data 待替换的值,当flag为1时,data是一个数组,当flag为2时,data是一个字符串,当flag为3时,data是一个对象
* @param flag 替换类型,1:一一替换,2:统一替换,3:对象替换 默认为1
* @param placeholder 自定义占位符,默认为{{%s}}
* @returns
*/
function str_replace(str,data,flag,placeholder){
//data表示传递的值,是一个数组,当flag为true或者只替换一个字符串时,该值可以是简单数据类型
placeholder = placeholder || "{{%s}}"; //自定义占位符
flag = flag || 1; //为true表示将值赋值给所有的变量
str = "" + str;
if(flag==1){
var length = data.length;
stopFlag = false;
count = 0;
var pos = str.indexOf(placeholder);
while(pos>-1){
count ++;
pos = str.indexOf(placeholder,pos + placeholder.length);
}
if(count > length){
alert('尊敬的程序员,待替换的参数少了,请检查(字符串替换函数提示消息)');
}
for(var i=0;i<length;i++){
str = str.replace(placeholder,data[i]);
}
}
else if(flag==2){ //用同一个值替换所有的占位符
var pattern = new RegExp(placeholder,'g');
str = str.replace(pattern,data);
}
else if(flag==3){
for(key in data){
var pattern = new RegExp('{{' + key + '}}','g');
str = str.replace(pattern,data[key]);
}
}
return str;
}
方法调用