<script language="javascript">
var s= "123$xxx$$xxxX$456"
var s1= "123$xxx$333$xxxX$456"
alert(s.replace(/\$[^\$]*\$/g,"mm"))
alert(s1.replace(/\$[^\$]*\$/g,"mm"))
</script>

解决方案 »

  1.   


    //函数
    String.prototype.cReplace = function(str1,str2)
    {
    var re = new RegExp(["$","str1","$"].join(""),"ig");
    return this.replace(re,str2);
    }
    //调用
    s="123$abc$$cde$456";
    alert(s.cReplace("abc","|"));
    alert(s.cReplace("cde","$"));
    s = s.cReplace("abc","|").cReplace("cde","$");
    alert(s);
      

  2.   


    //函数
    String.prototype.cReplace = function(str1,str2)
    {
        var re = new RegExp(["\\$","str1","\\$"].join(""),"ig");
        return this.replace(re,str2);
    }
    //调用
    s="123$abc$$cde$456";
    alert(s.cReplace("abc","|"));
    alert(s.cReplace("cde","$"));
    s = s.cReplace("abc","|").cReplace("cde","$");
    alert(s);
      

  3.   

    var arr = str.split("$");
    var len = parseInt((arr.length-1)/2);
    var text = "abc";
    var index = 0;
    var value = arr[index++];
    for(var i=0;i<len;i++){
        var key = arr[index++];
        value+= text+arr[index++];
    }

    if(arr.length != index){
        value += "$" + arr[index];
    }

    return value;