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 文件中加入以下代码(不需要清除换行符的请删除 \n 制表符删除 \t):

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\n\t]+/g, "");
 }
 
 /*----------------------------------------
  * 清除字符串右侧空格,包含换行符、制表符
  *----------------------------------------*/
 String.prototype.trimr = function () {
  return this.replace(/[\s\n\t]+$/g, "");
 }
}

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

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

使用代码:

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

 

posted @ 2018-08-03 10:50  ConfidentLiu  阅读(543)  评论(0编辑  收藏  举报