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 相关文章推荐
Gird事件机制初级读本
Mar 10 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
使用jquery动态加载js文件的方法
Dec 24 Javascript
jQuery实现动画效果circle实例
Aug 06 Javascript
jQuery UI Bootstrap是什么?
Jun 17 Javascript
简单封装js的dom查询实例代码
Jul 08 Javascript
bootstrap table操作技巧分享
Feb 15 Javascript
详解Vue监听数据变化原理
Mar 08 Javascript
利用Vue实现移动端图片轮播组件的方法实例
Aug 23 Javascript
JS实现前端页面的搜索功能
Jun 12 Javascript
微信小程序调用摄像头隐藏式拍照功能
Aug 22 Javascript
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
第二节 对象模型 [2]
2006/10/09 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
搭建自己的PHP MVC框架详解
2017/08/16 PHP
php xhprof使用实例详解
2019/04/15 PHP
javascript 隔行换色函数代码
2010/10/24 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
jquery实用技巧之输入框提示语句
2016/07/28 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
JS实现根据指定值删除数组中的元素操作示例
2018/08/02 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
2020/08/28 Javascript
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
python实现bitmap数据结构详解
2014/02/17 Python
python实现文本去重且不打乱原本顺序
2016/01/26 Python
详解Python实现多进程异步事件驱动引擎
2017/08/25 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
2018/02/22 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python-opencv颜色提取分割方法
2018/12/08 Python
Python实现FM算法解析
2019/06/18 Python
基于FME使用Python过程图解
2020/05/13 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
在Java开发中如何选择使用哪种集合类
2016/08/09 面试题
酒店总经理欢迎词
2014/01/15 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
施工安全协议书范本
2014/09/26 职场文书
2014年扶贫工作总结
2014/11/18 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年学校总务处工作总结
2014/12/08 职场文书
留学推荐信怎么写
2015/03/26 职场文书
跳高加油稿
2015/07/21 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书