js中几种去掉字串左右空格的方法

时间:2021-05-26

//recon的思路:
//-------------
//去掉字串左边的空格
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<a_strvarcontent.length;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<sstr.length;i++)
{if((sstr.charat(i)!='')||(flag!=0))
{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,"");
}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章