JavaScriptのsubstrメソッド第1引数はIEでは負数を指定できない。

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”を得ることができる。

詳しい事は↓で紹介してくれているので見てほしい。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です