首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

no-invalid-regexp

"extends": "eslint:recommended"配置文件中的属性启用此规则。

在解析代码时,正则表达式文本中的无效模式是SyntaxError,但RegExp构造函数中的无效字符串仅在代码执行时抛出SyntaxError。

规则细节

此规则不允许RegExp构造函数中的无效正则表达式字符串。

此规则的错误代码示例:

代码语言:javascript
复制
/*eslint no-invalid-regexp: "error"*/

RegExp('[')

RegExp('.', 'z')

new RegExp('\\')

此规则的正确代码示例:

代码语言:javascript
复制
/*eslint no-invalid-regexp: "error"*/

RegExp('.')

new RegExp

this.RegExp('[')

环境

ECMAScript 6将以下标志参数添加到RegExp构造函数中:

您可以通过在您的ESLint配置中将ECMAScript版本设置为6来将这些设置识别为有效。

如果您想出于任何原因允许其他构造函数标志,您可以使用.eslintrc中的allowConstructorFlags选项指定它们。 无论ecmaVersion设置如何,这些标志都将被规则忽略。

选项

该规则有一个例外的对象选项:

  • "allowConstructorFlags" 是一组标志

allowConstructorFlags

此规则的正确代码示例包含以下{ "allowConstructorFlags": ["u", "y"] }选项:

代码语言:javascript
复制
/*eslint no-invalid-regexp: ["error", { "allowConstructorFlags": ["u", "y"] }]*/

new RegExp('.', 'y')

new RegExp('.', 'yu')

扩展内容

版本

该规则在ESLint 0.1.4中引入。

资源

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com