js去掉字符串前后空格的五种方法

第一种:循环检查替换 [javascript] //供使用者调用   function trim(s){   return trimRight(trimLeft(s));   }   //去掉左边的空白   function trimLeft(s){   if(s == null) {   return "";   }   var whitespace = new String(" \t\n\r");   var str = new String(s);   if (whitespace.indexOf(str.charAt(0)) != -1) {   var j=0, i = str.length;   while (j < i && whitespace.indexOf(str.charAt(j)) != -1){   j++;   }   str = str.substring(j, i);   }   return str;   }   //去掉右边的空白 www.2cto.com function trimRight(s){   if(s == null) return "";   var whitespace = new String(" \t\n\r");   var str = new String(s);   if (whitespace.indexOf(str.charAt(str.length-1)) != -1){   var i = str.length - 1;   while (i >= 0 && whitespace.indexOf(str.charAt(i)) != -1){   i--;   }   str = str.substring(0, i+1);   }   return str;   }  第二种:正则替换 [javascript] <SCRIPT LANGUAGE="JavaScript">   <!--   String.prototype.Trim = function()   {   return this.replace(/(^\s*)|(\s*$)/g, "");   }   String.prototype.LTrim = function()   {   return this.replace(/(^\s*)/g, "");   }   String.prototype.RTrim = function()   {   return this.replace(/(\s*$)/g, "");   }   //-->   </SCRIPT>  第三种:使用jquery [javascript] $.trim(str)  jquery内部实现为: [javascript] function trim(str){        return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');    }    第四种:使用motools [javascript] function trim(str){        return str.replace(/^(\s|\xA0)+|(\s|\xA0)+$/g, '');    }   第五种:裁剪字符串方式 [javascript] function trim(str){        str = str.replace(/^(\s|\u00A0)+/,'');        for(var i=str.length-1; i>=0; i--){            if(/\S/.test(str.charAt(i))){                str = str.substring(0, i+1);                break;            }        }        return str;    }   经过测试第五种方法在处理长字符串时效率最高。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

go 切片使用小结

最新项目使用go语言开发,因此有机会结识了go语言。在写代码时,无意间发现了同事代码的一个bug。今天拿来一起学习一下。 首先go语言有个强大的基本数据结构,那...

34780
来自专栏Golang语言社区

Go-指针、传值与传引用、垃圾回收

要点 Go使用的*、&、new()这些运算符,和C++的用法完全一样。 有传值和传引用/传地址的概念,和C++一样。 Go没有new对应的delete操作,而是...

35350
来自专栏Golang语言社区

Go-指针、传值与传引用、垃圾回收

要点 Go使用的*、&、new()这些运算符,和C++的用法完全一样。 有传值和传引用/传地址的概念,和C++一样。 Go没有new对应的delete操作,而是...

376100
来自专栏GreenLeaves

Jquery 触发器之treigger()方法简介

trigger是个很神奇的东西,它可以模拟简单的用户输入操作。并触发点击click, mouseover, keydown 等事件. 具体使用方法如下: $("...

19990
来自专栏JAVA后端开发

vue解决字段类型为数字导致单选不正确的问题

最近在研究vue,也试着写一些Vue页面。 vue中,我返回一个值,"sex":0, 单选框代码为

79540
来自专栏前端下午茶

JS 活学活用正则表达式

网上的帖子大多深浅不一,甚至有些前后矛盾,在下的文章都是学习过程中的总结,如果发现错误,欢迎留言指出~

38920
来自专栏Golang语言社区

Go-指针、传值与传引用、垃圾回收

要点 Go使用的*、&、new()这些运算符,和C++的用法完全一样。 有传值和传引用/传地址的概念,和C++一样。 Go没有new对应的delete操作,而是...

33550
来自专栏十月梦想

多个Promise对象的处理

如果某件事情需要依照多个对象完成后才能执行,那么我们可以使用Promise.all来管理,将这些状态全部执行完毕后才执行下一个!

17310
来自专栏柠檬先生

VUE 入门基础(3)

三,模板语法   Vue将模板编译成虚拟DOM渲染函数,结合响应系统,在应用状态改变时,vue能够智能地计算出重新渲染组件的最小代价并DOM操作上。   插值,...

23860
来自专栏JavaEdge

后端开发必备JQuery常用知识点jQuery.each(object, [callback])1 筛选2 属性3 文档处理4 回调函数

向每个匹配的元素内部追加内容。 这个操作与对指定的元素执行appendChild方法,将它们添加到文档中的情况类似。

9430

扫码关注云+社区

领取腾讯云代金券