Javascript中各種trim的實現(xiàn)詳細解析
更新時間:2013年12月10日 08:55:54 作者:
這篇文章主要是對Javascript中各種trim的實現(xiàn)進行了詳細的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
這是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以稍稍提高性能 在小規(guī)模的處理字符串時性能較好
function trim2(str){
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
}
Steven Levithan 在進行性能測試后提出了在JS中執(zhí)行速度最快的裁剪字符串方式,在處理長字符串時性能較好
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以稍稍提高性能 在小規(guī)模的處理字符串時性能較好
復制代碼 代碼如下:
function trim2(str){
return str.replace(/^(\s|\u00A0)+/,'').replace(/(\s|\u00A0)+$/,'');
}
Steven Levithan 在進行性能測試后提出了在JS中執(zhí)行速度最快的裁剪字符串方式,在處理長字符串時性能較好
復制代碼 代碼如下:
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隊列函數(shù)和異步執(zhí)行詳解
這篇文章主要為大家詳細介紹了JavaScript隊列函數(shù)和異步執(zhí)行的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
詳解基于DllPlugin和DllReferencePlugin的webpack構建優(yōu)化
這篇文章主要介紹了詳解基于DllPlugin和DllReferencePlugin的webpack構建優(yōu)化,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06

