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

所属分类: 网络编程 / JavaScript 阅读数: 1864
收藏 0 赞 0 分享
//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, "");
}
更多精彩内容其他人还在看

Node.js事件的正确使用方法

这篇文章主要给大家介绍了关于Node.js事件的正确使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Node.js具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

微信小程序自定义导航栏实例代码

这篇文章主要给大家介绍了关于微信小程序自定义导航栏的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用微信小程序具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

js字符串处理之绝妙的代码

这篇文章主要介绍了js字符串处理之绝妙的代码,包括字符串去重、将字符放在对象中遍历拼接出字符串、把字符串的奇数位和偶数位分别提取到两个数组中、将两个数组按奇数位和偶数位插入拼接为字符串,有时候需要对字符进行处理的时候可以用得到
收藏 0 赞 0 分享

vue设计一个倒计时秒杀的组件详解

这篇文章主要介绍了vue设计一个倒计时秒杀的组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解服务端预渲染之Nuxt(介绍篇)

这篇文章主要介绍了详解服务端预渲染之Nuxt(介绍篇),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

javascrit中undefined和null的区别详解

这篇文章主要介绍了javascrit中undefined和null的区别详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈javascript中的prototype和__proto__的理解

这篇文章主要介绍了浅谈javascript中的prototype和__proto__的理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解vue中this.$emit()的返回值是什么

这篇文章主要介绍了详解vue中this.$emit()的返回值是什么,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

浅谈express.js框架中间件(middleware)

这篇文章主要介绍了浅谈express.js框架中间件(middleware),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

vue自定义指令directive的使用方法

这篇文章主要介绍了vue自定义指令directive的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多