0

我有以下代码,它可以在一个 IE8、FF 和其他浏览器上工作,但在检查时不适用于 IE7,我发现formatIncludes[i]它不起作用,知道 IE7 有什么问题以及任何解决方法

var formatIncludes = valueToSet.replace(/[^\D]/g, '');
    for(var i=formatIncludes.length-1; i >= 0 ; i--){
        if(valueToSet && valueToSet != null && valueToSet.endsWith(formatIncludes[i])){
            valueToSet = valueToSet.substr(0, valueToSet.length - 1);
        }else{
            break;
        }
    }

String.prototype.endsWith = function(suffix) {
    return (this.indexOf(suffix, this.length - suffix.length) != -1);
};

formatIncludes可以包含任何字符串值

IE7上的错误

Message: 'length' is null or not an object
Line: 352
Char: 2
Code: 0
URI: http://localhost:7001/HHSPortal/framework/skeletons/hhsa/js/util.js
4

1 回答 1

3

似乎索引字符串[i]不起作用?更一致/正确的解决方案是使用.charAt(i)

原因可以在这些中找到:

string.charAt(x) 还是 string[x]?

JavaScript 跨浏览器:将字符串视为数组是否安全?

于 2012-10-29T05:50:50.780 回答