求已清理数字间的减号,正则表达式如2-3-6-6 清理后为:2366如-2-6-8-5 清理后为:-2685

解决方案 »

  1.   

    分两步
    alert( "-2-6-8-5-1-2".replace(/(^-\d)?((?:-\d+)+)/g,function(a,b,c){return b+ c.replace(/-/g,'')})  )
      

  2.   

    a,b,c 对应正则中分组 0,1,2
      

  3.   

    有常用,一般都写成$1,$2alert( "2-3-6-6".replace(/(^-\d+)?((-\d+)+)/g,function(a,b,c){return (b||'')+ c.replace(/-/g,'')})  )
      

  4.   

    http://bbs.csdn.net/topics/390541525我换个帖子问吧
      

  5.   

    str.replace(/^-/, '=').replace(/-/, '').replace(/=/, '-')
      

  6.   

    我现在是这样的,本想用一个正则表达式,搞不定,多谢各位积极回复function ConvertInt(data)
    {
    data = data+"";
    data = data.replace(/[^\-?\d]/g, "");
    if(data.substring(0,1)=="-")
    data = data.replace("-", "$#$").replace(/\-/g, "").replace("$#$", "-");
    else
    data = data.replace(/\-/g, "");
    return data;
    }
      

  7.   

    alert(("-2-6-8-5").replace(/(?!^)-/g,""));