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 相关文章推荐
Javascript &amp; DHTML 实例编程(教程)基础知识
Jun 02 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
jQuery响应鼠标事件并隐藏与显示input默认值
Aug 24 Javascript
javascript实现自动填写表单实例简析
Dec 02 Javascript
zTree插件下拉树使用入门教程
Apr 11 Javascript
js获取ip和地区
Mar 10 Javascript
js中less常用的方法小结
Aug 09 Javascript
Vue 仿QQ左滑删除组件功能
Mar 12 Javascript
详解Vue 全局引入bass.scss 处理方案
Mar 26 Javascript
JS实现倒序输出的几种常用方法示例
Apr 13 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 Javascript
Paypal支付不完全指北
Jun 04 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
php下使用SimpleXML 处理XML 文件
2010/02/27 PHP
php 数组的指针操作实现代码
2011/02/08 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
2015/12/31 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
Laravel中正确地返回HTTP状态码方法示例
2019/09/10 PHP
Javascript实现DIV滚动自动滚动到底部的代码
2012/03/01 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
7个JS基础知识总结
2014/03/05 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
jquery中 $.expr使用实例介绍
2014/06/09 Javascript
javascript实现滑动解锁功能
2014/12/31 Javascript
javascript定义类和类的实现实例详解
2015/12/01 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
JavaScript类的写法
2016/09/17 Javascript
vue.js学习笔记之绑定style样式和class列表
2016/10/31 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
JS实现页面打印功能
2017/03/16 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
python看某个模块的版本方法
2018/10/16 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Django中的用户身份验证示例详解
2019/08/07 Python
Django对接支付宝实现支付宝充值金币功能示例
2019/12/17 Python
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
通往英国高街的商店橱窗:Down Your High Street
2020/07/19 全球购物
经典c++面试题二
2015/08/14 面试题
世界经理人咨询有限公司面试
2014/09/23 面试题
秘书专业自荐信范文
2013/12/26 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang