Javascriptの文字列抽出メソッドであるsubstrメソッドやsubstringメソッドでは第1引数に負の値(負数)を指定すると、文字列の後ろからカウントする仕様になっている。しかし、IEでは、第1引数に負数を指定しても「0」とされてしまい、他のブラウザと挙動が異なり、エラーとなってしまう。
結論を言えばこれを回避するためにはsliceメソッドを使う。もしくはsliceメソッドをメソッドチェーンして複数回を組み合わせる。
“ABCDEFGH”.substr(-4.2)
の場合、IE以外では”EF”となるがIEでは”AB”となってしまう。
そこで、IEでも”EF”を得たい場合には、
“ABCDEFGH”.slice(-4).slice(-2)
とするとIEでも”EF”を得ることができる。
詳しい事は↓で紹介してくれているので見てほしい。