$(function() {
            var dataObj = eval(data); blur              //转换为json对象
            var content = $("#content").text();
            for (var d in dataObj) {
                content = content.replace(dataObj[d].tag, "<img src=" + dataObj[d].src + " alt='shu'/>");
            }
            $("#content").html(content);        });//json
var data=[
{"tag":"[001]","src":"http://style.jctrans.com/tcp/ubb/1.gif"},
{"tag":"[002]","src":"http://style.jctrans.com/tcp/ubb/2.gif"},
{"tag":"[003]","src":"http://style.jctrans.com/tcp/ubb/3.gif"},
{"tag":"[004]","src":"http://style.jctrans.com/tcp/ubb/4.gif"},
{"tag":"[005]","src":"http://style.jctrans.com/tcp/ubb/5.gif"}
]
只能替换一次,希望用正则替换所有 
jsonfunction正则

解决方案 »

  1.   


        for (var d in dataObj) {
           var reg= RegExp(dataObj[d].tag.replace(/(\[|\])/g,"\\$1"),"g") //加上全局匹配
           content = content.replace(reg, "<img src=" + dataObj[d].src + " alt='shu'/>");
        } 
    ---------方法2-----------------
    如果tag的值与数组下标相等content.replace(/\[(\d+)\]/g,function(d,i){
      i=+i;   
      return data[i]?"<img src=" + data[i].src + " alt='shu'/>":d;
    })
      

  2.   

    规则的话直接下面的就行了        content = content.replace(/\[(\d+)\]/g, function ($0, $1) { return "<img src='http://style.jctrans.com/tcp/ubb/1" + parseInt($1) + ".gif' alt='shu'/>" });