怎么样使用JS去掉字符串前后空格或去掉所有空格?

怎么样使用JS去掉字符串前后空格或去掉所有空格?

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

代码如下:

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

说明:

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

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

代码如下:

 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):

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 函数的,可以只写一个:

if (!String.prototype.trim){

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

使用代码:

var str = " abcd ".trim();