js中去掉字符中间空格和首尾空格

转载:

https://www.jb51.net/article/109522.htm

1、  去掉字符串前后所有空格:

代码如下:

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

    说明:

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

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

代码如下:

1
2
3
4
5
6
7
8
9
10
  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;
}

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (!String.prototype.trim) {
 
 /*---------------------------------------
  * 清除字符串两端空格,包含换行符、制表符
  *---------------------------------------*/
 String.prototype.trim = function () {
  return this.triml().trimr();
 }
 
 /*----------------------------------------
  * 清除字符串左侧空格,包含换行符、制表符
  * ---------------------------------------*/
 String.prototype.triml = function () {
  return this.replace(/^[s ]+/g, "");
 }
 
 /*----------------------------------------
  * 清除字符串右侧空格,包含换行符、制表符
  *----------------------------------------*/
 String.prototype.trimr = function () {
  return this.replace(/[s ]+$/g, "");
 }
}

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

1
2
3
4
5
6
7
8
9
10
if (!String.prototype.trim){
 
 /*---------------------------------------
  * 清除字符串两端空格,包含换行符、制表符
  *---------------------------------------*/
 String.prototype.trim = function () {
  return this.replace(/(^[s ]+|[s ]+$)/g, "");
 }
  
}

使用代码:

1
var str = " abcd ".trim();

 

原文地址:https://www.cnblogs.com/ConfidentLiu/p/9412830.html