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

 更新时间:2016年02月26日 10:33:42   作者:xingoo  
这篇文章主要介绍了js去字符串前后空格的实现方法,重点推荐使用正则的方式,感兴趣的小伙伴们可以参考一下

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

比如:

  输入:[空格][空格]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; 
} 
//去掉右边的空白 www.jb51.net 
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去字符串前后空格的多种方法,希望对大家的学习有所帮助。

相关文章

  • 小程序展示弹窗常见API实例详解

    小程序展示弹窗常见API实例详解

    弹窗对我们大家来说应该都不陌生,这篇文章主要给大家介绍了关于小程序展示弹窗常见API的相关资料,主要包括showToast, showModal,showLoading和showActionSheet,需要的朋友可以参考下
    2022-09-09
  • 微信小程序日期选择器实例代码

    微信小程序日期选择器实例代码

    本文通过一段实例代码给大家介绍了微信小程序日期选择器的实现思路,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-07-07
  • 浅谈Javascript数据属性与访问器属性

    浅谈Javascript数据属性与访问器属性

    下面小编就为大家带来一篇浅谈Javascript数据属性与访问器属性。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • 迅速了解一下ES10中Object.fromEntries的用法使用

    迅速了解一下ES10中Object.fromEntries的用法使用

    这篇文章主要介绍了迅速了解一下ES10中Object.fromEntries的用法使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • 关于URL中的特殊符号使用介绍

    关于URL中的特殊符号使用介绍

    因为经常被Javascript中的rul的相关知识困扰,今天来总结一下URL的特殊字符
    2011-11-11
  • JavaScript prototype属性使用说明

    JavaScript prototype属性使用说明

    prototype 是在 IE 4 及其以后版本引入的一个针对于某一类的对象的方法,而且特殊的地方便在于:它是一个给类的对象添加方法的方法!
    2010-05-05
  • 不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象

    不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象

    JavaScript中的对象模型(object model)并不广为人知,我们再设想:假设JavaScript没有构造函数或者没有new关键字会怎样?事情又会变成什么样的呢?让我们推到以前的重来,感兴趣的朋友可以详细了解下
    2013-01-01
  • 基于JS实现一个可拖拽的容器布局组件

    基于JS实现一个可拖拽的容器布局组件

    这篇文章主要为大家详细介绍了如何基于JavaScript实现一个可拖拽的容器布局组件,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12
  • 微信小程序实现井字棋游戏

    微信小程序实现井字棋游戏

    这篇文章主要为大家详细介绍了微信小程序实现井字棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 分析ES5和ES6的apply区别

    分析ES5和ES6的apply区别

    这篇文章主要介绍了分析ES5和ES6的apply区别,对ES6感兴趣的同学,可以参考下
    2021-05-05

最新评论