//-------------
//去掉字串左边的空格
functionltrim(str)
{
if(str.charat(0)=="")
{
//如果字串左边第一个字符为空格
str=str.slice(1);//将空格从字串中去掉
//这一句也可改成str=str.substring(1,str.length);
str=ltrim(str);//递归调用
}
returnstr;
}
//去掉字串右边的空格
functionrtrim(str)
{
varilength;
ilength=str.length;
if(str.charat(ilength-1)=="")
{
//如果字串右边第一个字符为空格
str=str.slice(0,ilength-1);//将空格从字串中去掉
//这一句也可改成str=str.substring(0,ilength-1);
str=rtrim(str);//递归调用
}
returnstr;
}
//去掉字串两边的空格
functiontrim(str)
{
returnltrim(rtrim(str));
}
//雨天5337的思路:
//----------------
functionalltrim(a_strvarcontent)
{
varpos1,pos2,newstring;
pos1=0;
pos2=0;
newstring=""
if(a_strvarcontent.length>0)
{
for(i=0;i<=a_strvarcontent.length;i++)
//recon:这句应该有错误,应改成:
//for(i=0;i
if(a_strvarcontent.charat(i)=="")
pos1=pos1+1;
else
break;
}
for(i=a_strvarcontent.length;i>=0;i--)
//recon:这句应该有错误,应改成:
//for(i=a_strvarcontent.length-1;i>=0;i--)
{
if(a_strvarcontent.charat(i)=="")
pos2=pos2+1;
else
break;
}
newstring=a_strvarcontent.substring(pos1,a_strvarcontent.length-pos2)
}
returnnewstring;
}
//hooke的思路:
//-------------
functionjtrim(sstr)
{
varastr="";
vardstr="";
varflag=0;
for(i=0;i
{dstr+=sstr.charat(i);
flag=1;
}
}
flag=0;
for(i=dstr.length-1;i>=0;i--)
{if((dstr.charat(i)!='')||(flag!=0))
{astr+=dstr.charat(i);
flag=1;
}
}
dstr="";
for(i=astr.length-1;i>=0;i--)dstr+=astr.charat(i);
returndstr;
}
为什么不用正则表达式?
String.prototype.Trim=function()
{
returnthis.replace(/(^s*)|(s*$)/g,"");
}