Javascript:将字符串转换为正则表达式

标签 javascript

我想将看起来像正则表达式的字符串...转换为正则表达式。

我想要这样做的原因是因为我正在动态构建要在正则表达式中使用的关键字列表。例如,对于文件扩展名,我将提供一个我希望包含在正则表达式中的可接受扩展名列表。

var extList = ['jpg','gif','jpg'];

var exp = /^.*\.(extList)$/;

谢谢,感谢任何帮助

最佳答案

您需要使用 RegExp 构造函数:

var extList = ['jpg','gif','jpg'];    
var reg = new RegExp('^.*\\.(' + extList.join('|') + ')$', 'i');

MDC - RegExp

关于Javascript:将字符串转换为正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4676765/

相关文章:

javascript - 不显示日期的正确方法

javascript - express.js ejs 不渲染我的 html

javascript - Angular ui bootstrap modal 传递多个参数

javascript - 如何防止 parameter 1 is not of type 'Node' 错误?

动态输入中的javascript函数

JavaScript : Different behavior when run on machine and local server

javascript - Jquery 选项卡与旋转 slider 冲突

javascript - 跟踪全局变量的所有自定义事件

javascript - 正则表达式删除第一个字母,如果它是 k 和最后一个下划线之后的所有内容(包括下划线)

javascript - openlayers3如何始终启用徒手绘制