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


Posted in Javascript onDecember 25, 2006

//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, "");
}

Javascript 相关文章推荐
日期 时间js控件
May 07 Javascript
判断用户是否在线的代码
Mar 05 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
Jan 23 Javascript
jquery拖动插件(jquery.drag)使用介绍
Jun 18 Javascript
javascript 实现子父窗体互相传值的简单实例
Feb 17 Javascript
JavaScript的原型继承详解
Feb 15 Javascript
使用jQuery实现Web页面换肤功能的要点解析
May 12 Javascript
js输出数据精确到小数点后n位代码
Jul 02 Javascript
Bootstrap基本插件学习笔记之折叠(22)
Dec 08 Javascript
如何正确理解vue中的key详解
Nov 02 Javascript
小程序实现按下录音松开识别语音
Nov 22 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
js静态作用域的功能。
Dec 25 #Javascript
js不是基础的基础
Dec 24 #Javascript
静态的动态续篇之来点XML
Dec 23 #Javascript
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
Dec 23 #Javascript
脚本吧 - 幻宇工作室用到js,超强推荐share.js
Dec 23 #Javascript
脚本吧 - 幻宇工作室用到js,超强推荐base.js
Dec 23 #Javascript
实现复选框全选/全不选切换
Dec 23 #Javascript
You might like
PHP中for循环语句的几种变型
2006/11/26 PHP
PHP 中英文混合排版中处理字符串常用的函数
2007/04/12 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
PHP实现自动对图片进行滚动显示的方法
2015/03/12 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
万能的php分页类
2017/07/06 PHP
jQuery 动画基础教程
2008/12/25 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
js 操作符汇总
2014/11/08 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
Bootstrap每天必学之弹出框(Popover)插件
2016/04/25 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
JavaScript实现HTML5游戏断线自动重连的方法
2017/09/18 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
jQuery-Citys省市区三级菜单联动插件使用详解
2019/07/26 jQuery
element中el-container容器与div布局区分详解
2020/05/13 Javascript
ant design vue datepicker日期选择器中文化操作
2020/10/28 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
Python数据结构之翻转链表
2017/02/25 Python
eclipse创建python项目步骤详解
2019/05/10 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
Pytorch在dataloader类中设置shuffle的随机数种子方式
2020/01/14 Python
Python 爬虫性能相关总结
2020/08/03 Python
柯基袜:Corgi Socks
2017/01/26 全球购物
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
JavaScript获取当前url根目录(路径)
2014/02/19 面试题
春节联欢会主持词
2014/03/24 职场文书
幼儿园中班教师寄语
2014/04/03 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
银行服务明星推荐材料
2014/05/29 职场文书
党员承诺书格式范文
2015/04/28 职场文书
pytorch 如何使用batch训练lstm网络
2021/05/28 Python
解析Java异步之call future
2021/06/14 Java/Android
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android