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 YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Mar 22 Javascript
javascript 进度条 实现代码
Jul 30 Javascript
表格 隔行换色升级版
Nov 07 Javascript
js定时器(执行一次、重复执行)
Mar 07 Javascript
JavaScript删除数组元素的方法
Mar 20 Javascript
JS实现漂亮的时间选择框效果
Aug 20 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
jQuery实现两个select控件的互移操作
Dec 22 Javascript
javascript prototype原型详解(比较基础)
Dec 26 Javascript
js移动端事件基础及常用事件库详解
Aug 15 Javascript
通过JavaScript下载文件到本地的方法(单文件)
Mar 17 Javascript
vue 获取元素额外生成的data-v-xxx操作
Sep 09 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错误提示failed to open stream: HTTP request failed!的完美解决方法
2011/06/06 PHP
详解PHP 7.4 中数组延展操作符语法知识点
2019/07/19 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
php设计模式之抽象工厂模式分析【星际争霸游戏案例】
2020/01/23 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
jquery 鼠标滑动显示详情应用示例
2014/01/24 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
js实现无缝滚动图(可控制当前滚动的方向)
2017/02/22 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
es6中class类静态方法,静态属性,实例属性,实例方法的理解与应用分析
2020/02/15 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
教你学会使用Python正则表达式
2017/09/07 Python
python调用系统ffmpeg实现视频截图、http发送
2018/03/06 Python
python逆序打印各位数字的方法
2018/06/25 Python
python中单例常用的几种实现方法总结
2018/10/13 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
python hash每次调用结果不同的原因
2019/11/21 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
CSS3的 fit-content实现水平居中
2017/09/07 HTML / CSS
世界最大域名注册商:GoDaddy
2016/07/24 全球购物
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
java程序员面试交流
2012/11/29 面试题
弘扬焦裕禄精神践行三严三实心得体会
2014/10/13 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
面试通知单大全
2015/04/20 职场文书
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS