Javascript中各种trim的实现详细解析_javascript技巧
程序员文章站
2022-04-20 14:43:39
...
这是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 方法。
复制代码 代码如下:
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 方法。
上一篇: Javascript的闭包详解_基础知识
下一篇: 数据库定时备份脚本
推荐阅读
-
Javascript中各种trim的实现详细解析_javascript技巧
-
js如何实现设计模式中的模板方法_javascript技巧
-
JavaScript中实现依赖注入的思路分享_javascript技巧
-
javascript解析xml实现省市县三级联动的方法_javascript技巧
-
在javascript中创建对象的各种模式解析
-
在javascript中创建对象的各种模式解析
-
JSON在Javascript中的使用(eval和JSON.parse的区别)详细解析
-
javascript中的缓动效果实现程序_javascript技巧
-
用javascript实现无刷新更新数据的详细步骤 asp_javascript技巧
-
js 实现打印网页中定义的部分内容的代码_javascript技巧