js去字符串前后空格的实现方法


Posted in Javascript onFebruary 26, 2016

当我们进行一些页面编辑时,字符串前后的空格,通常是无效的。因此需要在获取信息时,进行过滤。

比如:

输入:[空格][空格]a[空格]b[空格][空格][空格]

得到:a[空格]b

代码如下:
去掉前面的空格

function LTrim(str){ 
  var i; 
  for(i=0;i<str.length;i++){
    if(str.charAt(i)!=" ") 
      break; 
  } 
  str = str.substring(i,str.length); 
  return str; 
}

去掉后面的空格

function RTrim(str){ 
  var i; 
  for(i=str.length-1;i>=0;i--){ 
    if(str.charAt(i)!=" ") 
      break; 
  } 
  str = str.substring(0,i+1); 
  return str; 
}

使用方法

function Trim(str){ 
   return LTrim(RTrim(str)); 
 }

【推荐】使用正则的方式

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

补充一些其他方法:

第一种:循环检查替换

//供使用者调用 
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; 
}

第二种:裁剪字符串方式

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; 
}

以上就是js去字符串前后空格的多种方法,希望对大家的学习有所帮助。

Javascript 相关文章推荐
JavaScript 对Cookie 操作的封装小结
Dec 31 Javascript
javascript中expression的用法整理
May 13 Javascript
jQuery 获取兄弟元素的几种不错方法
May 23 Javascript
解决jquery实现的radio重新选中的问题
Jul 03 Javascript
Bootstrap的图片轮播示例代码
Aug 31 Javascript
Jquery轮播效果实现过程解析
Mar 30 Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 Javascript
Ajax和Comet技术总结
Feb 19 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
May 07 Javascript
ES6 javascript中class类的get与set用法实例分析
Oct 30 Javascript
JS高级技巧(简洁版)
Jul 29 Javascript
axios+Vue实现上传文件显示进度功能
Apr 14 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 #Javascript
超实用的JavaScript表单代码段
Feb 26 #Javascript
理解javascript中Map代替循环
Feb 26 #Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
Feb 26 #Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 #Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
Feb 25 #Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 #Javascript
You might like
php分页函数
2006/07/08 PHP
PHP解码unicode编码的中文字符代码分享
2014/08/13 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
php5对象复制、clone、浅复制与深复制实例详解
2019/08/14 PHP
javascript整除实现代码
2010/11/23 Javascript
javascript高级程序设计第二版第十二章事件要点总结(常用的跨浏览器检测方法)
2012/08/22 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
跟我学习javascript的闭包
2015/11/16 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
vue 基于abstract 路由模式 实现页面内嵌的示例代码
2020/12/14 Vue.js
[00:39]DOTA2上海特级锦标赛 Liquid战队宣传片
2016/03/04 DOTA
python基础教程之自定义函数介绍
2014/08/29 Python
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
对python3 urllib包与http包的使用详解
2018/05/10 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
Python自动抢红包教程详解
2019/06/11 Python
python画图把时间作为横坐标的方法
2019/07/07 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
Python  word实现读取及导出代码解析
2020/07/09 Python
美国知名女性服饰品牌:New York & Company
2017/03/23 全球购物
如何写一个Java类既可以用作applet也可以用作java应用
2016/01/18 面试题
个人找工作自荐信格式
2013/09/21 职场文书
大学生村官工作感言
2014/01/10 职场文书
秋季红领巾广播稿
2014/01/27 职场文书
人力资源职位说明书
2014/07/29 职场文书
合作意向书
2014/07/30 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
实习指导教师评语
2014/12/30 职场文书
Python编程编写完善的命令行工具
2021/09/15 Python
vue如何清除浏览器历史栈
2022/05/25 Vue.js
Mysql数据库group by原理详解
2022/07/07 MySQL