空格只是相对于浏览器,本身还是字符
replace(/^(\&nbsp\;)+$/, '')

解决方案 »

  1.   

    replace(/^(\&nbsp\;)+$/, '')
    还不不行呀
      

  2.   

    replace(/(^(\s| )*)|((\s| )*$)/g,""); //这是支除字符串两端的空格
      

  3.   

    错了,用replace(/^ $/, '')试试。
      

  4.   

    var s = "<  sdf &nbsp;&nbsp; ain";
    re= new RegExp("&nbsp;","ig");
      s = s.replace(re,""); 
      alert(s)
    测试通过,不就是
    简单的replace吗,何必用正则
      

  5.   

    咦, 楼上的兄弟, 你的 new RegExp("&nbsp;","ig"); 语句就不是正则了?????
    若是要替换所有的空格:
    replace(/\s|&nbsp;/gi, "")
      

  6.   

    试了上面的全部的方法都不法去掉。
    html代码:
      <select size="1" name="D1">
      <option>a&nbsp;&nbsp;a</option>
      <option>b&nbsp;&nbsp;b</option>
      </select>其中a与a之间空格
    b与b之间也是空格就是无法去掉这空格
      

  7.   

    你早就说明应用环境, 问题就早解决了!!
      <select size="1" name="D1">
      <option>a&nbsp;&nbsp;a</option>
      <option>b&nbsp;&nbsp;b</option>
      </select>
      <input type=button value=mm onclick="aa()">  <SCRIPT LANGUAGE="JavaScript">
      function aa()
      {
        var s = document.all.D1;
        for(var i=0; i<s.options.length; i++)
        {
          s.options[i].text = s.options[i].text.replace(/[\xa0]/gi, "");
        }
      }
      </SCRIPT>
      

  8.   

    replace(/[\xa0]/gi, "")
    是什么意思呀,为什么这样是正确的,
    用其它的方法就不行呢
      

  9.   

    在 select 里的 text 里的空格看起来是空格, 其实不是, 它的unicode 值是 a0 而不是普通空格的 20