欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

去除字符串开头和结尾的空格(JavaScript)

最编程 2024-01-17 21:48:44
...

一. 去除空格trim() 方法


在Java 语言中,String 类中有一个trim() 去除左右空格的方法, 在JS中,以前是没有这样的方法的,需要自己手动书写,现在有了,但是这个trim() 方法,还是要理解的,所以总结归纳一下。


二. 比较笨的 前面去空格的方法。


一看例子就明白。


二.一 去除左空格 ltrim()


function ltrim(str){
  if(str==""||str==undefined){
    return "";
  }
  var n=0;
  for(var i=0,length=str.length;i<length;i++){
    var c=str.charAt(i);
    if(c!=" "){ //如果为空,就将索引继续添加。 里面有一个空格。
      break;
    }
    n++;
  }
  return str.substring(n);
}


二.二 去除右空格 rtrim()


function rtrim(str){
  if(str==""||str==undefined){
    return "";
  }
  var n=str.length;
  for(var i=str.length-1;i>=0;i--){
    var c=str.charAt(i);
    if(c!=" "){ //如果为空,就将索引继续添加。
      break;
    }
    n--;
  }
  return str.substring(0,n);
}


二.三 去除左右空格 trim()


function trim(str){
  return rtrim(ltrim(str));
}


这种方式不太好。


var name="   你好,  我要去空格     ";
console.log("去除左空格是:"+ltrim(name)+",结束");
console.log("去除右空格是:"+rtrim(name)+",结束");
console.log("去除左右空格是:"+trim(name)+",结束");


验证为:


网络异常,图片无法展示
|

注意,不会去除掉字符串中间的空格。


三. 正则表达式验证


主要是将不可见字符替换成"" . (中间没有空格)


function ltrim(str){
  // \s 为任意的空白符.  包括空格,换行符,制表 符,换页符  。 \f\n\r\t\v
  return str.replace(/(^\s*)/g,"");
}
function rtrim(str){
  return str.replace(/(\s*$)/g,"");
}
function trim(str){
  return str.replace(/(^\s*)|(\s*$)/g,"");
}


也可以:


function trim(str) {
  if (str == null) {
      return "";
  }
  return str.replace(/^\s*(.*?)[\s\n]*$/g,'$1');   
}


四. JS中String 类扩展


利用原型,进行相应的扩展。


    String.prototype.ltrim=function(){
      return this.replace(/(^\s*)/g,"");
   }
   String.prototype.rtrim=function(){
      return this.replace(/(\s*$)/g,"");
   }
    String.prototype.trim=function(){
      return this.replace(/(^\s*)|(\s*$)/g, "");
   }


这样,就可以直接


var name="    张三    " .trim(); 


即可,仿佛是js 中字符串的方法。 (虽然现在JS已经提供了)


五. Jquery 中的trim() 方法。


$.trim(字符串) 方法。


网络异常,图片无法展示
|


var name="   你好,  我是js新提供去除空格     ";
console.log("去除左右空格是:"+name.trim()+",结束");
console.log("去除左空格是:"+name.trimLeft()+",结束");
console.log("去除右空格是:"+name.trimRight()+",结束");
console.log("去除开始空格是:"+name.trimStart()+",结束");
console.log("去除结束空格是:"+name.trimEnd()+",结束");


网络异常,图片无法展示
|


trimLeft() 与trimStart() 方法一致, trimRight() 与trimEnd() 方法一致。

可以直接使用JS自带的方法。


谢谢!!!