RegExp.escape()
RegExp.escape() は文字列内の正規表現で特別な意味を持つ文字(. * + ? など)をエスケープします。ユーザー入力をそのまま正規表現パターンに使用する場合に安全です。
概要
RegExp.escape() は文字列内の正規表現で特別な意味を持つ文字(. * + ? など)をエスケープします。ユーザー入力をそのまま正規表現パターンに使用する場合に安全です。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 136 | 136 | 134 | 18.2 | 136 | 18.2 | |
基本構文
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 ライブデモ
実務での使いどころ
-
RegExp.escape() の活用
文字列内の正規表現特殊文字をエスケープする静的メソッド。ユーザー入力を安全に正規表現に組み込める。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。
参考リンク
Powered by web-features