String.prototype.trim()
ECMA 5提供了原生字符串方法trim()
来去除字符串两端的空白。
语法
str.trim()
描述
trim()
方法会删除一个字符串两端的空白字符。在这个字符串里的空格包括所有的空格字符 (space, tab, no-break space 等)以及所有的行结束符(如 LF,CR)。
trim()
方法并不影响原字符串本身,它返回的是一个新的字符串。
示例
var orig = ' foo ';
console.log(orig.trim()); // 'foo'
// 另一个.trim()例子,只从一边删除
var orig = 'foo ';
console.log(orig.trim()); // 'foo'
trim的polyfill
trim()
是ECMA5
提供的新方面,在一些旧环境中并不兼容。
下面是兼容性的trim()
实现:
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”,因此我们在读取时需要自己去掉这些字符。
“\xA0”其实就是HTML中常见的“ ”
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。