网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2025/9/18 浏览:3 次 )
//recon 的思路:
//-------------
//去掉字串左边的空格
function ltrim(str)
{
if (str.charat(0) == " ")
{
  //如果字串左边第一个字符为空格
  str = str.slice(1);//将空格从字串中去掉
  //这一句也可改成 str = str.substring(1, str.length);
  str = ltrim(str);   //递归调用
}
return str;
}

//去掉字串右边的空格
function rtrim(str)
{
var ilength;

ilength = str.length;
if (str.charat(ilength - 1) == " ")
{
  //如果字串右边第一个字符为空格
  str = str.slice(0, ilength - 1);//将空格从字串中去掉
  //这一句也可改成 str = str.substring(0, ilength - 1);
  str = rtrim(str);   //递归调用
}
return str;
}

//去掉字串两边的空格
function trim(str)
{
return ltrim(rtrim(str));
}

//雨天5337 的思路:
//----------------
function alltrim(a_strvarcontent)
{
  var pos1, 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)

}

  return newstring;

}

//hooke 的思路:
//-------------
function jtrim(sstr)
{
var astr="";
var dstr="";
var flag=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);
return dstr;
}
为什么不用正则表达式?
String.prototype.Trim = function()
{
     return this.replace(/(^\s*)|(\s*$)/g, "");
}
上一篇:判断两种颜色值是否为相似颜色
下一篇:js静态作用域的功能。
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap