SCRIPT438: 对象不支持“trim”属性或方法

关于ie9以下不支持trim()方法

可以在自己封装的框架中加入如下。或直接调用也行。

if(!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^[suFEFFxA0]+|[suFEFFxA0]+$/g, ”);
//uFEFF为es5新增的空白符,XA0是不间断空白符  
};
}

可以在jquery框架中找到

// Support: Android<4.1, IE<9
// Make sure we trim BOM and NBSP
rtrim = /^[suFEFFxA0]+|[suFEFFxA0]+$/g,

/如果原型没有trim方法。这里一般为ie9以下 ,则添加trim()方法。

下面这句话主要难点在于 /^[suFEFFxA0]+|[suFEFFxA0]+$/g

uFEFF(Unicode 编码:U+FEFF )。是 ES5 新增的空白符   也叫「字节次序标记字符(Byte Order Mark)」,也就是 BOM

xA0  为不间断空白符 &nbsp;
原文地址:https://www.cnblogs.com/ljk001/p/8010633.html