ECMAScript5已經為字串定義了原生的trim方法。這個方法可能比會比本文的任何版本的還要快。建議在支援的瀏覽器中使用原生函數。以下講述的是自訂trim()函數遇到的問題,改進的過程。功夫在不斷淬煉中才能醇正。
JavaScript中沒有用於移除字串頭尾空白的原生修剪方法。最常見的自訂trim()函數實作如下所示:
return text.replace(/^s |s $/g, ‘');
}
這種實作使用一個正規表示式來匹配字串開頭和結尾的一或多個空白字元。 replace()方法用空字串取代所有符合的部分。
複製碼
程式碼如下:function trim(text) {
function trim(text) {function trim(text) {
//刪除字串的頭部空白
text = text.replace(/^s /, ‘');
if(/S/.test(text.charAt(i))) { // S 非空白字元
text = text.substring(0, i 1);
break; } } return text; } 使用建議:第2個trim()函數在小規模處理短字串時效能還是好的。而第3個trim函數在處理長字串時明顯更快。 題外話:簡單的裁切字串首尾空白字元函數,引發了對正規表示式的效能問題的考慮並實現規避效能問題的方法。技術追求完美,只能在實踐中前進。