Javascript 5种方法实现过滤删除前后所有空格


Posted in Javascript onJune 22, 2016

第一种:循环检查替换

//供使用者调用 
function trim(s){ 
  return trimRight(trimLeft(s)); 
} 
//去掉左边的空白 
function trimLeft(s){ 
  if(s == null) { 
    return ""; 
  } 
  var whitespace = new String(" \t\n\r"); 
  var str = new String(s); 
  if (whitespace.indexOf(str.charAt(0)) != -1) { 
    var j=0, i = str.length; 
    while (j < i && whitespace.indexOf(str.charAt(j)) != -1){ 
      j++; 
    } 
    str = str.substring(j, i); 
  } 
  return str; 
} 

//去掉右边的空白 3water.com 
function trimRight(s){ 
  if(s == null) return ""; 
  var whitespace = new String(" \t\n\r"); 
  var str = new String(s); 
  if (whitespace.indexOf(str.charAt(str.length-1)) != -1){ 
    var i = str.length - 1; 
    while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){ 
      i--; 
    } 
    str = str.substring(0, i+1); 
  } 
  return str; 
}

第二种:正则替换

<SCRIPT LANGUAGE="JavaScript"> 
<!-- 
String.prototype.Trim = function() 
{ 
return this.replace(/(^\s*)|(\s*$)/g, ""); 
} 
String.prototype.LTrim = function() 
{ 
return this.replace(/(^\s*)/g, ""); 
} 
String.prototype.RTrim = function() 
{ 
return this.replace(/(\s*$)/g, ""); 
} 
//--> 
</SCRIPT>
//去左空格;
function ltrim(s){
  return s.replace(/(^\s*)/g, "");
}
//去右空格;
function rtrim(s){
  return s.replace(/(\s*$)/g, "");
}
//去左右空格;
function trim(s){
  return s.replace(/(^\s*)|(\s*$)/g, "");
}

第三种:使用jquery

$.trim(str)

jquery内部实现为:

function trim(str){  
  return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');  
}

第四种:使用motools

function trim(str){  
  return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '');  
}

第五种:裁剪字符串方式

function trim(str){  
  str = str.replace(/^(\s|\u00A0)+/,'');  
  for(var i=str.length-1; i>=0; i--){  
    if(/\S/.test(str.charAt(i))){  
      str = str.substring(0, i+1);  
      break;  
    }  
  }  
  return str;  
}

//----------------------------------------------------------
//   去掉字符串前后的空格
//  返回值:
//  去除空格后的字符串
//----------------------------------------------------------
function trim(param) {
  if ((vRet = param) == '') { return vRet; }
  while (true) {
    if (vRet.indexOf (' ') == 0) {
      vRet = vRet.substring(1, parseInt(vRet.length));
    } else if ((parseInt(vRet.length) != 0) && (vRet.lastIndexOf (' ') == parseInt(vRet.length) - 1)) {
      vRet = vRet.substring(0, parseInt(vRet.length) - 1);
    } else {
      return vRet;
    }
  }
}

以上就是本文的全部内容,了解更多JavaScript的语法,大家可以查看:《JavaScript 参考教程》、《JavaScript代码风格指南》,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
在textarea中显示html页面的javascript代码
Apr 20 Javascript
jQuery AnythingSlider滑动效果插件
Feb 07 Javascript
JavaScript更改原始对象valueOf的方法
Mar 19 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
Aug 27 Javascript
JavaScript仿支付宝密码输入框
Dec 29 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
Oct 10 Javascript
Bootstrap分页插件之Bootstrap Paginator实例详解
Oct 15 Javascript
javascript垃圾收集机制的原理分析
Dec 08 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
元素全屏的设置与监听实例
Nov 28 Javascript
配置一个vue3.0项目的完整步骤
Apr 26 Javascript
Jquery Fade用法详解
Nov 06 jQuery
Json解析的方法小结
Jun 22 #Javascript
JS实现刷新父页面不弹出提示框的方法
Jun 22 #Javascript
JS实现关闭当前页而不弹出提示框的方法
Jun 22 #Javascript
JS随机打乱数组的方法小结
Jun 22 #Javascript
JS产生随机数的几个用法详解
Jun 22 #Javascript
js与applet相互调用的方法
Jun 22 #Javascript
javascript时间戳和日期字符串相互转换代码(超简单)
Jun 22 #Javascript
You might like
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
php unlink()函数使用教程
2018/07/12 PHP
在网页中控制wmplayer播放器
2006/07/01 Javascript
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
node.js中的querystring.unescape方法使用说明
2014/12/10 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
JS实现淘宝支付宝网站的控制台菜单效果
2015/09/28 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
[02:46]完美世界DOTA2联赛PWL DAY4集锦
2020/11/03 DOTA
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
ansible作为python模块库使用的方法实例
2017/01/17 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
python用户管理系统
2018/03/13 Python
Python编写一个优美的下载器
2018/04/15 Python
pyQt4实现俄罗斯方块游戏
2018/06/26 Python
浅谈python之新式类
2018/08/12 Python
PyQt5实现简易计算器
2020/05/30 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
学习Python需要哪些工具
2020/09/04 Python
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
施华洛世奇加拿大官网:SWAROVSKI加拿大
2018/06/03 全球购物
高性能钓鱼服装:Huk Gear
2019/02/20 全球购物
大学感恩节活动策划方案
2014/10/11 职场文书
2014年置业顾问工作总结
2014/11/17 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python