trim

源码

// rtrim是一个正则表达式,表示以空格开始或结尾
// Make sure we trim BOM and NBSP
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;

trim: function(text) {
  return text == null ? "" : ( text + "" ).replace( rtrim, "" );
}
BOM(Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。
UCS 编码中有一个叫做 "**Zero Width No-Break Space**" ,中文译名作“**零宽无间断间隔**”的字符,它的编码是 FEFF。
而 FFFE 在 UCS 中是不存在的字符,所以不应该出现在实际传输中。UCS 规范建议我们在传输[字节流]前,
先传输字符 "Zero Width No-Break Space"。这样如果接收者收到 FEFF,就表明这个字节流是 Big-Endian 的;如果收到FFFE,
就表明这个字节流是 Little- Endian 的。因此字符 "Zero Width No-Break Space" (“零宽无间断间隔”)又被称作 BOM。

参考链接

  1. http://www.cnblogs.com/52cik/p/js-regexp-s.html
  2. https://imququ.com/post/bom-and-javascript-trim.html

你可能感兴趣的:(trim)