Javascript 5种方法实现过滤删除前后所有空格

第一种:循环检查替换

//供使用者调用
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;
}

第二种:正则替换

<SCRIPT LANGUAGE="JavaScript">
<!--
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, "");
}
//-->
</SCRIPT>
//去左空格;
function ltrim(s){
  return s.replace(/(^\s*)/g, "");
}
//去右空格;
function rtrim(s){
  return s.replace(/(\s*$)/g, "");
}
//去左右空格;
function trim(s){
  return s.replace(/(^\s*)|(\s*$)/g, "");
}

第三种:使用jquery

$.trim(str) 

jquery内部实现为:

function trim(str){
  return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
}

第四种:使用motools

function trim(str){
  return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '');
} 

第五种:裁剪字符串方式

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;
} 
//----------------------------------------------------------
//   去掉字符串前后的空格
//  返回值:
//  去除空格后的字符串
//----------------------------------------------------------
function trim(param) {
  if ((vRet = param) == '') { return vRet; }
  while (true) {
    if (vRet.indexOf (' ') == 0) {
      vRet = vRet.substring(1, parseInt(vRet.length));
    } else if ((parseInt(vRet.length) != 0) && (vRet.lastIndexOf (' ') == parseInt(vRet.length) - 1)) {
      vRet = vRet.substring(0, parseInt(vRet.length) - 1);
    } else {
      return vRet;
    }
  }
}

以上就是本文的全部内容,了解更多JavaScript的语法,大家可以查看:《JavaScript 参考教程》、《JavaScript代码风格指南》,也希望大家多多支持我们。

(0)

相关推荐

  • JS去除空格和换行的正则表达式(推荐)

    前几天在编程的时候,遇到一件问题折腾了很久才解决了,真把我气疯了!把一个字符串放到setTimeout里面没法执行方法,后来发现是因为字符串后面多了一个换行,不仔细看看不出来,使用正则表达式去除换行就可以了. //去除空格  String.prototype.Trim = function() {  return this.replace(/\s+/g, "");  }  //去除换行  function ClearBr(key) {  key = key.replace(/<\

  • js trim函数 去空格函数与正则集锦

    但是如果项目没有用到jQuery等框架的话,js本身又没有这样的函数,我们不得不自己写这样的函数,下面是函数的具体实现: 复制代码 代码如下: //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } //去掉左边的空白 function trimLeft(s){ if(s == null) { return ""; } var whitespace = new String(" \t\n\r"); va

  • javaScript 删除字符串空格多种方法小结

    复制代码 代码如下: // 去掉字符串的头空格(左空格) 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-

  • JavaScript 去前后全脚半脚空格的正则

    function trim(str) { return str.replace(/(^\s*)|(\s*$)/g, ""); }

  • JavaScript去除空格的三种方法(正则/传参函数/trim)

    方法一: 个人认为最好的方法.采用的是正则表达式,这是最核心的原理. 其次.这个方法使用了JavaScript 的prototype 属性 其实你不使用这个属性一样可以用函数实现.但这样做后用起来比较方便. 下面就来看看这个属性是怎么来用的. 返回对象类型原型的引用. objectName.prototype objectName 参数是对象的名称. 说明 用 prototype 属性提供对象的类的一组基本功能.对象的新实例"继承"赋予该对象原型的操作. 例如,要为 Array 对象添

  • javascript将字符串中的多个空格替换为一个空格的正则实例

    javascript将字符串中的多个空格缩减为一个空格代码实例: 在实际应用中可能有这样的需求,那就是将字符串中的多个空格缩减为一个空格. 下面就是一段能够实现此功能的代码实例. 代码如下: //对字符串扩展 String.prototype.ResetBlank=function(){ var regEx = /\s+/g; return this.replace(regEx, ' '); }; var str="jb51.net is a good site"; console.l

  • js去掉首位空格的正则表达式

    去掉首位空格 复制代码 代码如下: str=str.replace(/^\s+|\s+$/g,'');

  • 比较简单实用的使用正则三种版本的js去空格处理方法

    分别去字符串前后,左边,右边空格  复制代码 代码如下: 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(/

  • JS使用正则实现去掉字符串左右空格的方法

    本文实例讲述了JS使用正则实现去掉字符串左右空格的方法.分享给大家供大家参考,具体如下: //去掉左空格 function ltrim(s) { return s.replace(/^/s*/, ""); } //去掉右空格 function rtrim(s) { return s.replace(//s*$/, ""); } //去掉左右空格 function trim(s) { return rtrim(ltrim(s)); } PS:这里再为大家提供2款非常方

  • 获取服务器传来的数据 用JS去空格的正则表达式

    今天早上到现在,一直在搞一个很愚蠢的问题,竟然一直没发现 如果$str=""; $str = "$str-$sno"; 这样下来,$str前面会有个空格,js获取此值后,必须去掉空格 去空格函数rstr=rstr.replace(/(^\s*)|(\s*$)/g,""); 另: 去左空格replace(/(^\s*)/g, ""); 去右空格replace(/(\s*$)/g, ""); 另外,如果进行程序

  • JS正则替换去空格的方法

    本文实例讲述了JS正则替换去空格的方法.分享给大家供大家参考,具体如下: 在网上找了好久,发现没几个是好用的.自己备份一个省得以后再找. //去左空格; function ltrim(s){ return s.replace( /^/s*/, ""); } //去右空格; function rtrim(s){ return s.replace( //s*$/, ""); } //左右空格; function trim(s){ return rtrim(ltrim(s

  • javascript使用正则表达式实现去掉空格之后的字符

    从后端数据库读取时间时,经常会把整个日期年月日包括时分秒都取到,如2015-1-28 14:56:00,但是一般的我们只需要前面的年月日就行了.一个简单的方法,直接用split(" ")[0]就可以以空格截取,获得截取的第一段,就是我们要的年月日.现在来说说用正则表达式怎么实现. 思路:获取到字符串中的空格,然后把空格及空格后的字符全部替换为空. 获取空格的正则为\s 实践: 复制代码 代码如下: var date = "2015-12-26 15:22:00";

随机推荐