TRIM()函数不会在IE8的工作?(trim() function doesn't wor

2019-06-25 19:06发布

每当我使用trim()函数的字符串,它正常工作与Chrome和Firefox,但我在IE8说得到一个错误:

对象不支持此属性或方法

谁能告诉我,为什么出现这种情况,如果有一个变通?

Answer 1:

IE8不支持微调功能。 这里有一个填充工具:

if(typeof String.prototype.trim !== 'function') {
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  };
}


Answer 2:

如果你愿意,你可以添加jQuery和使用$ .trim(....),这将工作..

$.trim("  hello ");

给你

"hello"


Answer 3:

互联网浏览器才开始支持trim()从9版本。

作为参考, MDN填充工具用于String.prototype.trim()为:

if (!String.prototype.trim) {
  (function() {
    // Make sure we trim BOM and NBSP
    var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
    String.prototype.trim = function() {
      return this.replace(rtrim, '');
    };
  })();
}

并且支持它是:

+--------+---------+----+-------+--------+
| Chrome | Firefox | IE | Opera | Safari |
+--------+---------+----+-------+--------+
| All    | 3.5     |  9 | 10.5  |      5 |
+--------+---------+----+-------+--------+


Answer 4:

因为,我是使用jQuery,与@nemo和@ karesh-A的帮助下,我想出了:

if(typeof String.prototype.trim !== 'function') {
     String.prototype.trim = function(){
        return jQuery.trim( this );
    }
}


文章来源: trim() function doesn't work in IE8?