下面我先是正则表达式去掉编码为32的空格,再用递归的方法去掉字符串两边的unicode空格。 
 代码如下:
/** 去字符两端空格 开始 
*@author 敖士伟 
*@version v1.0 
*@date 2009/11/14 22:51 
*/ 
String.prototype.trim = function() { 
var r = this.replace(/(^\s*)|(\s*$)/g, ""); 
r = Lremoveblank(r); 
r = Rremoveblank(r); 
return r; 
} 
function Lremoveblank(s) { 
if (s.length == 1 && s.charCodeAt(0) == 160) 
return ""; 
if (s.charCodeAt(0) == 160) { 
s = s.substr(1, s.length - 1); 
return removeblank(s); 
} 
else { 
return s; 
} 
} 
function Rremoveblank(s) { 
if (s.length == 1 && s.charCodeAt(0) == 160) 
return ""; 
if (s.charCodeAt(s.length-1) == 160) { 
s = s.substr(0, s.length - 1); 
return Rremoveblank(s); 
} 
else { 
return s; 
} 
} 
//--去字符两端空格 结束
//e.g. 
var a = " a "; 
alert("b" + a.trim() + "b");