ECMA 5提供了原生字符串方法trim()
來去除字符串兩端的空白。this
str.trim()
trim()
方法會刪除一個字符串兩端的空白字符。編碼
在這個字符串裏的空格包括全部的空格字符 (space, tab, no-break space 等)以及全部的行結束符(如 LF,CR)。spa
trim()
方法並不影響原字符串自己,它返回的是一個新的字符串。prototype
var orig = ' foo '; console.log(orig.trim()); // 'foo' // 另外一個.trim()例子,只從一邊刪除 var orig = 'foo '; console.log(orig.trim()); // 'foo'
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中常見的「 」console