JS去掉字符串前后空格或去掉所有空格的用法,原生js去除过滤空格的最简实现

时间: 2019-12-10阅读: 113标签: 空格

转自脚本之家:

js去字符串前后空格的实现方法,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(" tnr"); 
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(" tnr"); 
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去字符串前后空格的多种方法,希望对大家的学习有所帮助。

1、js去掉所有空格

这篇文章主要介绍了JS去掉字符串前后空格或去掉所有空格的用法,需要的朋友可以参考下:

您可能感兴趣的文章:

  • js trim函数 去空格函数与正则集锦
  • JS trim去空格的最佳实践
  • JS文本框不能输入空格验证方法
  • js/jquery去掉空格,回车,换行示例代码
  • Js 去掉字符串中的空格(实现代码)
  • js去掉首位空格的正则表达式
  • JS去除字符串两端空格的简单实例
  • js去除输入框中所有的空格和禁止输入空格的方法
  • JS替换字符串中空格方法

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

str=str.replace(/s+/g,""); //js去掉所有空格

代码如下:

s表示查找空格带上加好表示连续的空格

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

2、js去掉两头空格

 说明:

str=str.replace(/^s+|s+$/g,"");//js去掉两头空格

    如果使用jQuery直接使用$.trim(str)方法即可,str表示要去掉前后所有空格的字符串。

3、js去掉左空格

 2、 去掉字符串中所有空格(包括中间空格,需要设置第2个参数为:g)

str=str.replace( /^s*/, ''); //js去掉左空格
function Trim(str,is_global)
  {
   var result;
   result = str.replace(/(^s+)|(s+$)/g,"");
   if(is_global.toLowerCase()=="g")
   {
    result = result.replace(/s/g,"");
    }
   return result;
}

4、js去掉右空格

  3、现在大部分浏览器中基本上都支持字符串的 trim 函数,但是为了兼容不支持的浏览器,我们最好还是在 Js 文件中加入以下代码(不需要清除换行符的请删除 n 制表符删除 t):

str=str.replace(/(s*$)/g, ""); //js去掉右空格

  

5、es5中有了trim()方法

if (!String.prototype.trim) {

 /*---------------------------------------
  * 清除字符串两端空格,包含换行符、制表符
  *---------------------------------------*/
 String.prototype.trim = function () { 
  return this.triml().trimr(); 
 }

 /*----------------------------------------
  * 清除字符串左侧空格,包含换行符、制表符
  * ---------------------------------------*/
 String.prototype.triml = function () {
  return this.replace(/^[snt]+/g, "");
 }

 /*----------------------------------------
  * 清除字符串右侧空格,包含换行符、制表符
  *----------------------------------------*/
 String.prototype.trimr = function () {
  return this.replace(/[snt]+$/g, "");
 }
}

直接使用:string.trim()会有浏览器版本限制:JavaScript Version 1.8

  如果只需要 trim 函数的,可以只写一个:

间接使用:

if (!String.prototype.trim){

 /*---------------------------------------
  * 清除字符串两端空格,包含换行符、制表符
  *---------------------------------------*/
 String.prototype.trim = function () { 
  return this.replace(/(^[snt]+|[snt]+$)/g, "");
 }

}
//写成类的方法格式如下:(str.trim();)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//写成函数可以这样:(trim(str))script type="text/javascript" function trim(str){ //删除左右两端的空格 return str.replace(/(^s*)|(s*$)/g, ""); } function ltrim(str){ //删除左边的空格 return str.replace(/(^s*)/g,""); } function rtrim(str){ //删除右边的空格 return str.replace(/(s*$)/g,""); }/script

  使用代码:

var str = " abcd ".trim();

  起因:我准备找一个js去除空格的简便方法,翻阅文档惊奇的发现没有,w3cschool的javascript文档.准备Google一下.发现还有经常碰到JQuery里的trim()函数在firefox支持,但是在IE里不支持这么一回事.其主要原因是写法不对,下面是错误的写法

var content = $('#content').val();    

if(content.trim() == '') {

  alert('空');    

}

上面的写法在firefox下不会报错,但在ie下确会报错
正确的写法应该为

var content = $('#content').val();    

if($.trim(content) == '')  {

  alert('空');  

}

var content = $('#content').val();    

if(jQuery.trim(content) == '') {

  alert('空');  

}

  一个小问题,还是自己准备一个解决这些琐事问题的小型的工具js,比较好.模糊查询没去除空格,想在前端搞下。

 

原文地址:

 

本文由澳门威斯尼人平台登录发布于Web前端,转载请注明出处:JS去掉字符串前后空格或去掉所有空格的用法,原生js去除过滤空格的最简实现

相关阅读