關於ie9以下不支持trim()方法
可以在自己封裝的框架中加入如下。或直接調用也行。
if(!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ”);
//\uFEFF為es5新增的空白符,\XA0是不間斷空白符
};
}
可以在jquery框架中找到
// Support: Android<4.1, IE<9
// Make sure we trim BOM and NBSP
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
/如果原型沒有trim方法。這里一般為ie9以下 ,則添加trim()方法。
下面這句話主要難點在於 /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g
\uFEFF(Unicode 編碼:U+FEFF )。是 ES5 新增的空白符 也叫「字節次序標記字符(Byte Order Mark)」,也就是 BOM
\xA0 為不間斷空白符