JavaScript に不足している RegExp.escape 関数
任意の文字列から正規表現を構築しようとしていますが、組み込みメソッドでは解決できません。 Ruby には便利な RegExp.escape があるにもかかわらず、JavaScript には同等の機能がありません。
推奨関数
別のスレッドで推奨されている関数は、^ のような文字をエスケープできないため不十分です。 (文字列の先頭)、$ (文字列の末尾)、および - (文字グループの範囲に使用)。
堅牢なソリューションを実現するには、次の点を考慮してください。
function escapeRegex(string) { return string.replace(/[/\-\^$*+?.()|[\]{}]/g, '\$&'); }
この関数は、正規表現の構築に重要なすべての文字を慎重にエスケープし、文字クラスと正規表現リテラルの両方に適しています。
なぜJavaScript が不足していますか?
JavaScript には組み込みの RegExp.escape が存在しないため、悩ましい問題。この関数は、正規表現を作成する前にユーザー入力をサニタイズし、潜在的なセキュリティ脆弱性や予期しない動作を防ぐために不可欠です。
以上がJavaScript に RegExp.escape 関数が組み込まれていないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。