Javascript中各种trim的实现详细解析
作者:互联网
2025-08-13
这是lgzx公司的一道面试题,要求给js的String添加一个方法,去除字符串两旁的空白字符(包括空格、制表符、换页符等)。
复制代码代码如下:
String.prototype.trim = function() {
//return this.replace(/[(^/s+)(/s+$)]/g,"");//把字符串中的空白符也去掉
//return this.replace(/^/s+|/s+$/g,""); //
return this.replace(/^/s+/g,"").replace(//s+$/g,"");
}
JQuery1.4.2,Mootools 使用
复制代码代码如下:
function trim1(str){
return str.replace(/^(/s|/xA0)+|(/s|/xA0)+$/g, '');
}
jQuery1.4.3,Prototype 使用,该方式去掉g以稍稍提高性能 在小规模的处理字符串时性能较好
复制代码代码如下:
function trim2(str){
return str.replace(/^(/s|/u00A0)+/,'').replace(/(/s|/u00A0)+$/,'');
}
Steven Levithan 在进行性能测试后提出了在JS中执行速度最快的裁剪字符串方式,在处理长字符串时性能较好
复制代码代码如下:
function trim3(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;
}
最后需要提到的是 ECMA-262(V5) 中给String添加了原生的trim方法(15.5.4.20)。此外Molliza Gecko 1.9.1引擎中还给String添加了trimLeft ,trimRight 方法。
相关标签:
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
5.响应式系统比对:手写 React 响应式状态库 Mobx
踩坑分享:Vite Plus 最佳实践
VTJ核心引擎开源项目概览
你的 Vue 3 TS 类型声明,VuReact 会处理成什么样的 React?
Element Plus 主题构建方案
Vue 组件间通信
你的 Vue 3 <script setup>,VuReact 会编译成完整的 React 组件
vue3+typescript+vite封装自己的UI组件库并上传至npm
都知道AI大模型能生成文本内容,那你知道大模型是怎样生成文本的吗?
vue3 数据响应式遇到的问题
AI精选
