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 相关文章推荐
关于恒等于(===)和非恒等于(!==)
Aug 20 Javascript
jqTransform form表单美化插件使用方法
Jul 05 Javascript
js简单实现删除记录时的提示效果
Dec 05 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
Sep 24 Javascript
js实现文件上传表单域美化特效
Nov 02 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
Oct 09 Javascript
JS作用域深度解析
Dec 29 Javascript
原生js实现密码输入框值的显示隐藏
Jul 17 Javascript
vue打包相关细节整理(小结)
Sep 28 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 Javascript
js消除图片小游戏代码
Dec 11 Javascript
Node.js 深度调试方法解析
Jul 28 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
用Apache反向代理设置对外的WWW和文件服务器
2006/10/09 PHP
jq的get传参数在utf-8中乱码问题的解决php版
2008/07/23 PHP
php自动注册登录验证机制实现代码
2011/12/20 PHP
php使用ICQ网关发送手机短信
2013/10/30 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
PHP闭包定义与使用简单示例
2018/04/13 PHP
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
2013/05/07 Javascript
Extjs中RowExpander控件的默认展开问题示例探讨
2014/01/24 Javascript
jquery计算鼠标和指定元素之间距离的方法
2015/06/26 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
详解VueJS应用中管理用户权限
2018/02/02 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
[03:39]DOTA2英雄梦之声_第05期_幽鬼
2014/06/23 DOTA
Python采用Django制作简易的知乎日报API
2016/08/03 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
2019/01/29 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
python3排序的实例方法
2020/10/20 Python
删除pycharm鼠标右键快捷键打开项目的操作
2021/01/16 Python
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
水务局局长岗位职责
2013/11/28 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server
Mysql如何查看是否使用到索引
2022/12/24 MySQL