Newly available 主要ブラウザの最新版で対応済み。古いブラウザが対象外なら使用可能。

概要

RegExp.escape() は文字列内の正規表現で特別な意味を持つ文字(. * + ? など)をエスケープします。ユーザー入力をそのまま正規表現パターンに使用する場合に安全です。

対応ブラウザ

機能 デスクトップ モバイル
Chrome
Edge
Firefox
Safari
Chrome Android
Safari iOS
136
136
134
18.2
136
18.2
1+対応 (バージョン) 未対応 注釈あり サブ機能の解説は MDN Web Docs (CC BY-SA 2.5)

基本構文

JAVASCRIPT
const userInput = 'price: $10.00 (USD)';
const escaped = RegExp.escape(userInput);
// 'price\\: \\$10\\.00 \\(USD\\)'

const regex = new RegExp(escaped);
regex.test('price: $10.00 (USD)'); // true

ライブデモ

yu-za-input. safeall search

Inputsymbol positivecharacter and, searchresult hilight..

プレビュー全画面表示

escape-presult. confirm

RegExp.escape that. like escape-p row or inspect it..

プレビュー全画面表示

riteralmatch. valid-tion

symbol includestring that,. middle to. include or check..

プレビュー全画面表示

実務での使いどころ

  • RegExp.escape() の活用

    文字列内の正規表現特殊文字をエスケープする静的メソッド。ユーザー入力を安全に正規表現に組み込める。

注意点

  • 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。

アクセシビリティ

  • JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。

Powered by web-features