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 相关文章推荐
js 鼠标移动显示图片的简单实例
Dec 25 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
May 16 Javascript
js 声明数组和向数组中添加对象变量的简单实例
Jul 28 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
基于AngularJS的拖拽文件上传的实例代码
Jul 15 Javascript
基于Fixed定位的框选功能的实现代码
May 13 Javascript
详解小程序云开发数据库
May 20 Javascript
Vue实现搜索结果高亮显示关键字
May 28 Javascript
开源一个微信小程序仪表盘组件过程解析
Jul 30 Javascript
用vue写一个日历
Nov 02 Javascript
three.js显示中文字体与tween应用详析
Jan 04 Javascript
Moment的feature导致线上bug解决分析
Sep 23 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
在laravel中使用Symfony的Crawler组件分析HTML
2017/06/19 PHP
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
jQuery设置单选按钮radio选中/不可用的实例代码
2016/06/24 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
详解React Native顶|底部导航使用小技巧
2017/09/14 Javascript
vue绑定的点击事件阻止冒泡的实例
2018/02/08 Javascript
vue 配置多页面应用的示例代码
2018/10/22 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
2019/10/08 jQuery
[01:14:12]2018DOTA2亚洲邀请赛4.7 总决赛 LGD vs Mineski 第二场
2018/04/09 DOTA
Python3学习urllib的使用方法示例
2017/11/29 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
详解python的argpare和click模块小结
2019/03/31 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Pytorch之finetune使用详解
2020/01/18 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
Notino瑞典:购买香水和美容产品
2019/07/26 全球购物
adidas泰国官网:adidas TH
2020/07/11 全球购物
理工科学生的自我评价
2013/12/15 职场文书
绿色学校实施方案
2014/03/31 职场文书
学校爱心捐款倡议书
2014/05/13 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
远程教育学习心得体会
2016/01/23 职场文书
给原生html中添加水印遮罩层的实现示例
2021/04/02 Javascript
MySQL数据库事务的四大特性
2022/04/20 MySQL
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL