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实现2016新年版日历
Jan 25 Javascript
去除字符串左右两边的空格(实现代码)
May 12 Javascript
javascript鼠标滑过显示二级菜单特效
Nov 18 Javascript
快速解决js中window.location.href不工作的问题
Nov 02 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
Dec 29 Javascript
jquery DataTable实现前后台动态分页
Jun 17 jQuery
vue.js根据代码运行环境选择baseurl的方法
Feb 28 Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 Javascript
JS使用cookie保存用户登录信息操作示例
May 30 Javascript
vue中使用router全局守卫实现页面拦截的示例
Oct 23 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
Oct 31 Javascript
在JavaScript中如何使用宏详解
May 06 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
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
PHP开发注意事项总结
2015/02/04 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
鼠标移动到一张图片时变为另一张图片
2006/12/05 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
JQuery操作元素的css样式
2015/03/09 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
mac下的nodejs环境安装的步骤
2017/05/24 NodeJs
vue实现div拖拽互换位置
2020/07/29 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
python获取文件扩展名的方法
2015/07/06 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
Python3实现汉语转换为汉语拼音
2019/07/08 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
Python基于numpy模块实现回归预测
2020/05/14 Python
Django多个app urls配置代码实例
2020/11/26 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
巴黎卡诗加拿大官网:Kérastase加拿大
2018/11/12 全球购物
应届生妇产科护士求职信
2013/10/27 职场文书
2014全国两会学习心得体会2000字
2014/03/10 职场文书
怎样拟定创业计划书
2014/05/01 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
为什么node.js不适合大型项目
2021/04/28 Javascript
MySql新手入门的基本操作汇总
2021/05/13 MySQL