【JavaScript】字符串:去除兩端空白trim方法及polyfill

String.prototype.trim()

ECMA 5提供了原生字符串方法trim()來去除字符串兩端的空白。this

語法

str.trim()

描述

  1. trim() 方法會刪除一個字符串兩端的空白字符。編碼

  2. 在這個字符串裏的空格包括全部的空格字符 (space, tab, no-break space 等)以及全部的行結束符(如 LF,CR)spa

  3. trim() 方法並不影響原字符串自己,它返回的是一個新的字符串。prototype

示例

var orig = '   foo  ';
console.log(orig.trim()); // 'foo'

// 另外一個.trim()例子,只從一邊刪除

var orig = 'foo    ';
console.log(orig.trim()); // 'foo'

trim的polyfill

trim()ECMA5提供的新方面,在一些舊環境中並不兼容。
下面是兼容性的trim()實現:code

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
  };
}

這裏須要解釋的是,'\uFEFF''\xA0'字符串

某些軟件,在保存一個以UTF-8編碼的文件時,會在文件開始的地方插入三個不可見的字符(0xEF 0xBB 0xBF,即BOM),轉碼後是「\uFEFF」,所以咱們在讀取時須要本身去掉這些字符。io

\xA0」其實就是HTML中常見的「&nbsp」console

相關文章
相關標籤/搜索