匹配  如: $userID$  <a href="$imgSrc$">$title$</a>就是我想取出  userID    imgSrc    title  这$$中间的值..要如何做?js不会。。在线等. 

解决方案 »

  1.   


    var s = "$userID$  <a href=\"$imgSrc$\">$title$ </a>"
    var re = /\$([^\$]+)\$/g
    var a;
    while((a = re.exec(s))!=null){
       alert(a[1]);    

      

  2.   

    那要是全都替换成   row["userID"]    row["imgSrc"]   row["title"]怎么改。。哇。好强。/
      

  3.   


    var s = "$userID$  <a href=\"$imgSrc$\">$title$ </a>"
    var re = /\$([^\$]+)\$/g
    s = s.replace(re, "row[\"$1\"]");
    alert(s)
      

  4.   


    var row =....; //这儿row是一个对象:如row["userID"]='aaa" 等等.var s = "$userID$  <a href=\"$imgSrc$\">$title$ </a>"s = s.replace(/\$([^\$]+)\$/g, eval("row[\'$1\']"));为什么 转不过来 s 值不太对. 变成 undefind ..
      

  5.   

    cI = cI.replace(/\$([^\$]+)\$/g,function($1) {return row[$1];});
    也不对不知道要怎么写?
      

  6.   

    var s="$userID$  <a href=\"$imgSrc$\">$title$ </a>";
    var reg=/\$(.*?)\$/g;
    alert(s.replace(reg,"row[\"$1\"]"));
      

  7.   

    不执行
    row["blName"]这里面的语句。。
      

  8.   

     var row = dataT.Rows[i]; //其中这个 row 是一个表格中的一行. var s="$userID$  <a href=\"$imgSrc$\">$title$ </a>";
     
     s= s.replace(/\$([^\$]+)\$/g,row["\'$1\'"]); 为什么 row["\'$1\'"]) 中替换会变成  undefind..????
     
     解决了再加分.在线等。。
      

  9.   

    extend(String.prototype,{
    format:function(){
    var data = (arguments.length==1 && typeof(arguments[0])=='object') ? arguments[0] : arguments;
    return this.replace(/\{([\d\w]+)\}/g,function(m,n){
    return data[n] === undefined ? m : data[n];
    });
    }
    });or  /**
     * 模式化字符串的方法
     * @param {string} str 需要被格式化的字符串
     * @return String
     */
    function printf(str){
    var args = Array.prototype.slice.call(arguments, 1), data = (args.length == 1 && typeof(args[0]) == 'object') ? args[0] : args;
    return str.replace(/\{([\d\w]+)\}/g, function(m, n){
    return (data[n] + '') || '';
    });
    }