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 方法。
相關(guān)文章
JavaScript插入動態(tài)樣式實現(xiàn)代碼
能夠把CSS樣式包含到HTML頁面中的元素有兩個。其中,<link>元素用于包含來自外部的文件,而<style>元素用于指定嵌入的樣式2012-02-02一文秒懂JavaScript構(gòu)造函數(shù)、實例、原型對象以及原型鏈
這篇文章主要介紹了一文秒懂JavaScript構(gòu)造函數(shù)、實例、原型對象以及原型鏈的相關(guān)知識,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08使用post方法實現(xiàn)json往返傳輸數(shù)據(jù)的方法
今天小編就為大家分享一篇關(guān)于使用post方法實現(xiàn)json往返傳輸數(shù)據(jù)的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03echarts實現(xiàn)中國地圖下鉆進入下一級(地圖鉆取)
最近在學習echarts,今天就來介紹一下echarts實現(xiàn)中國地圖下鉆進入下一級,具有一定的參考價值,感興趣的可以了解一下2023-08-08xml分頁+ajax請求數(shù)據(jù)源+dom取結(jié)果實例代碼
最近做的一個項目里的某個小功能,主要是為了方便選擇數(shù)據(jù) 演示地址:由于有惡意程序,所以去掉地址2008-10-10