旧それなりブログの跡地、画像やスタイルやJSなどが壊れてることがあります。

[JavaScript] IEのregex.execの挙動が違う

2012年2月13日

また、正規表現周りのクロスブラウザな挙動

>>> /^(a)?(bc)$/.exec('bc')[1] === undefined;  // FirefoxとChromeでtrue
>>> /^(a)?(bc)$/.exec('bc')[1] === '';  // IE8でtrue
>>> /^(a?)(bc)$/.exec('bc')[1] === '';  // これは全ブラウザ同じ挙動

(a)? だと同じで (a?) だと変わる