用AS删除Flash中输入文本开始和结尾的空格【转载】

 

出处:http://bbs.blueidea.com/thread-2520075-1-137.html

// 函数:空格检验,是-true,否-false
function isSpace (str : String) : Boolean 
{
switch (str)
{
case String.fromCharCode (32) :
// 英文空格
//
trace("English Spacebar Blank");
break;
case String.fromCharCode (9) :
// Tab键
//
trace("Tab Blank");
break;
case String.fromCharCode (12288) :
// 中文双字节空格
//
trace("Chinese Spacebar Blank");
break;
case String.fromCharCode (13) :
// 换行符
//
trace("Enter");
break;
default :
//trace("No Blank");
return false;
}
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);
}
}
//
//
 测试
var str:String = new String("   123 5   ");
trace(leftTrim(str));
trace(rightTrim(str));
trace(allTrim(str));
// 
posted @ 2009-01-06 16:22  zhangsir  阅读(515)  评论(0编辑  收藏  举报