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 相关文章推荐
jquery 操作单选框,复选框,下拉列表实现代码
Oct 27 Javascript
Javascript 判断客户端浏览器类型代码
Mar 01 Javascript
Egret引擎开发指南之视觉编程
Sep 03 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
Dec 07 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
谈一谈js中的执行环境及作用域
Mar 30 Javascript
Angularjs实现mvvm式的选项卡示例代码
Sep 08 Javascript
jQuery实现简单的手风琴效果
Apr 17 jQuery
JavaScript 异步调用
Oct 25 Javascript
bootstrap与pagehelper实现分页效果
Dec 29 Javascript
解决Layui数据表格显示无数据提示的问题
Nov 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
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
php自动加载autoload机制示例分享
2014/02/20 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
浅谈PHP安全防护之Web攻击
2017/01/03 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
有趣的javascript数组定义方法
2010/09/10 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
基于JQuery实现的Select级联
2014/01/27 Javascript
js和css写一个可以自动隐藏的悬浮框
2014/03/05 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
jquery拼接ajax 的json和字符串拼接的方法
2017/03/11 Javascript
Angular.JS中指令ng-if的注意事项小结
2017/06/21 Javascript
bootstrap实现二级下拉菜单效果
2017/11/23 Javascript
JS中判断某个字符串是否包含另一个字符串的五种方法
2018/05/03 Javascript
浅析Vue实例以及生命周期
2018/08/14 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
微信小程序登录时如何获取input框中的内容
2019/12/04 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
查看Django和flask版本的方法
2018/05/14 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
Jupyter Notebook 实现正常显示中文和负号
2020/04/24 Python
华纳兄弟工作室的官方授权商店:WB Shop
2018/11/30 全球购物
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
大学四年的个人自我评价
2014/01/14 职场文书
幼儿教师工作感言
2014/02/14 职场文书
王老吉广告词
2014/03/20 职场文书
负责人任命书范本
2014/06/04 职场文书
超市周年庆活动方案
2014/08/16 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server