Ste*_*ger 10 javascript regex sanitization
我想使用字符串来执行全局正则表达式,但它可能包含正则表达式字符.在使用它构建正则表达式之前,在字符串中转义所有正则表达式字符的最佳方法是什么?
基本上我可能有这样的事情;
var test = 'test.';
var regex = new RegExp(test, 'ig');
Run Code Online (Sandbox Code Playgroud)
我需要'测试'.成为'测试\'.所以它不会以意想不到的方式表现.
Mar*_*ahn 11
new RegExp(test.replace(/[#-.]|[[-^]|[?|{}]/g, '\\$&'));
Run Code Online (Sandbox Code Playgroud)
或者干脆:
new RegExp(test.replace(/[#-}]/g, '\\$&'));
Run Code Online (Sandbox Code Playgroud)
后者最终会逃避比它应有的更多,但它不会伤害任何东西.
| 归档时间: |
|
| 查看次数: |
5182 次 |
| 最近记录: |