var s1={day}日内,贷记卡金额≥{money}元的交易金额占交易总金额{num}%(含)以上{mcc};
var s2={"day":13,"money":20000,"MCC":"20112"};
var o=eval('('+s2+')');
s1=s1.replace(/\{([^\}]+)\}/g,function($0,$1){if(o[$1])return o[$1];return '';});
$("#"+divId).text(s1);s2中的 值替换到 s1中 匹配的值 
横线 是 <input type="text">

解决方案 »

  1.   

    var s1 = '{day}日内,贷记卡金额≥{money}元的交易金额占交易总金额{num}%(含)以上{mcc}';
    var s2 = {"day":13,"money":20000,"MCC":"20112"};
    for(var x in s2){
    s1 = s1.replace(new RegExp('{'+ x +'}', 'gi'), s2[x]);
    }
    document.write( s1 );
      

  2.   

     function test() {
                var s1="{day}日内,贷记卡金额≥{money}元的交易金额占交易总金额{num}%(含)以上{mcc}";
                var s2={"day":13,"money":20000,"MCC":"20112"};
                var reg = /\{([^\}]+?)\}/g;
                s1 = s1.replace(reg, function ($) {
                    if ($.match(reg)) {
                        var key = RegExp.$1;
                        if (key == "day") {
                            return "<input type='text' value='" + s2.day + "' />"; //如果要加文本框,就像这样写
                        }
                        if (key == "money") {
                            return s2.money;
                        }
                        if (key == "num") { //这里的条件,也可以换成mcc,换成谁,就是把下面那个值添加到谁的位置
                            return s2.MCC;
                        }
                    }
                });
                document.write(s1);
            }