RegExp.prototype.ignoreCase
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。
ignoreCase は RegExp インスタンスのアクセサープロパティで、i フラグが正規表現で使われているかどうかを示します。
試してみましょう
const regex1 = /foo/;
const regex2 = /foo/i;
console.log(regex1.test("Football"));
// 予想される結果: false
console.log(regex2.ignoreCase);
// 予想される結果: true
console.log(regex2.test("Football"));
// 予想される結果: true
解説
| 仕様書 |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-regexp.prototype.ignorecase> |
RegExp.prototype.ignoreCase は、i フラグが指定されている場合は true を、そうでなければ false を返します。i フラグは、文字列の照合を試みる際に、大文字小文字を無視することを示します。大文字小文字を区別しない照合は、期待される文字セットと照合する文字列を同じ大文字小文字に対応付けすることで行われます。
正規表現が Unicode 対応の場合、大文字小文字の対応付けは CaseFolding.txt で指定された単純な大文字小文字の変換を行います。この対応付けは常に 1 つのコードポイントに対応付けされるので、例えば ß (U+00DF LATIN SMALL LETTER SHARP S) を ss に対応付けすることはありません(単純な大文字小文字の変換ではなく完全な大文字小文字の変換です)。例えば、String.prototype.toUpperCase() で使用されているアルゴリズムと同じです。このアルゴリズムは、基本ラテン文字ブロック外のコードポイントが同ブロック内のコードポイントにマッピングされるのを防ぐため、前述の