このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

RegExp.prototype.ignoreCase

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

ignoreCaseRegExp インスタンスのアクセサープロパティで、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() で使用されているアルゴリズムと同じです。このアルゴリズムは、基本ラテン文字ブロック外のコードポイントが同ブロック内のコードポイントにマッピングされるのを防ぐため、前述の

ブラウザーの互換性

関連情報