JS 字符串去除前后空格 trim(十四)

简介: JS 字符串去除前后空格 trim(十四)

一. 去除空格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)+",结束");


验证为:


2019051619223797.png

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


三. 正则表达式验证


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


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(字符串) 方法。


20190516195042222.png


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


20190516195130899.png


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

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


谢谢!!!

相关文章
|
30天前
|
存储 JavaScript 前端开发
JS上传文件(base64字符串和二进制文件流)
这篇文章介绍了两种JavaScript文件上传的方法:使用FileReader对象将文件读取为base64字符串上传,以及使用FormData对象以二进制文件流的形式上传文件,包括如何处理文件选择、读取和上传的详细代码示例。
103 2
JS上传文件(base64字符串和二进制文件流)
|
16天前
|
JavaScript
js 解析 byte数组 成字符串
js 解析 byte数组 成字符串
|
2天前
|
JavaScript 数据处理 索引
js字符串截取
js字符串截取
13 3
|
10天前
|
存储 JavaScript
js切割截取字符串方法
js切割截取字符串方法
|
18天前
|
Web App开发 JavaScript 前端开发
JavaScript 模板字符串
JavaScript 模板字符串
15 3
|
19天前
|
存储 JavaScript 前端开发
JavaScript 字符串
JavaScript 字符串
16 2
|
1月前
|
JSON JavaScript 前端开发
JS对象和字符串的相互转换
JS对象和字符串的相互转换
21 4
|
1月前
|
JavaScript 前端开发
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
37 2
|
19天前
|
Web App开发 JavaScript 前端开发
JavaScript 模板字符串
JavaScript 模板字符串
12 0
|
1月前
|
JavaScript 前端开发 Java
js字符串拼接的几种方式
js字符串拼接的几种方式
18 0