JavaScript 缺少 RegExp.escape 函数
您试图从任意字符串构造正则表达式,但内置方法却让您望而却步。尽管 Ruby 有方便的 RegExp.escape,但 JavaScript 缺乏等效的功能。
建议的函数
在不同线程中推荐的函数不够完善,因为它无法转义 ^ 等字符(字符串开头)、$(字符串结尾)和 -(用于字符组中的范围)。
为了稳健解决方案,请考虑以下内容:
function escapeRegex(string) { return string.replace(/[/\-\^$*+?.()|[\]{}]/g, '\$&'); }
此函数明智地转义对正则表达式构造至关重要的所有字符,使其适用于字符类和正则表达式文字。
为什么是 JavaScript缺少?
JavaScript 中缺少内置 RegExp.escape 仍然是一个令人烦恼的问题。此功能对于在创建正则表达式之前清理用户输入、防止潜在的安全漏洞和意外行为是必不可少的。
以上是为什么 JavaScript 没有内置的 RegExp.escape 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!