function isSpace(str:String):Boolean { // 函数:空格检验,是 true,否 false switch (str) { case String.fromCharCode(32) : break; // 英文空格 case String.fromCharCode(9) : break; // Tab键 case String.fromCharCode(12288) : break; // 中文双字节空格 default : return false; //trace("No Blank"); } return true; } function countStartSpace(str:String):Number { // 函数:计算从开头以后连续空格的数量 var numLoop:Number = str.length; for (var i = 0; i < numLoop; i++) { // 遇到非空格马上退出 if (isSpace(str.charAt(i)) == false) { return i; } } return i; // 全部是空格 } function countEndSpace(str:String):Number { // 函数:计算从末尾以前连续空格的数量 var numLoop:Number = str.length; for (var i = numLoop - 1; i >= 0; i--) { if (isSpace(str.charAt(i)) == false) { return i; } // 遇到非空格马上退出 } return i; // 全部是空格 } function leftTrim(str:String):String { // 函数:去除字符串前端的空格,返回裁减后的字符串 var newStart = countStartSpace(str); return str.slice(newStart); } function rightTrim(str:String):String { // 函数:去除字符串末端的空格,返回裁减后的字符串 var newEnd = countEndSpace(str) + 1; return str.slice(0, newEnd); } function allTrim(str:String):String { // 函数:去除字符串两端的空格,返回裁减后的字符串 var rightStr:String = leftTrim(str); if (rightStr.length == 0) { return ""; //return null; } else { return rightTrim(rightStr); } } // useage var str:String = new String("   123 5   "); // 测试 trace(leftTrim(str)); trace(rightTrim(str)); trace(allTrim(str));