pageClass | sidebarDepth | title | description | since |
---|---|---|---|---|
rule-details |
0 |
regexp/prefer-range |
enforce using character class range |
v0.4.0 |
💼 This rule is enabled in the ✅ plugin:regexp/recommended
config.
🔧 This rule is automatically fixable by the --fix
CLI option.
enforce using character class range
This rule is aimed to use ranges instead of multiple adjacent characters in character class.
/* eslint regexp/prefer-range: "error" */
/* ✓ GOOD */
var foo = /[0-9]/
var foo = /[a-f]/
/* ✗ BAD */
var foo = /[123456]/
var foo = /[a-cd-f]/
{
"regexp/prefer-range": ["error",
{
"target": "alphanumeric" // or "all" or [...]
}
]
}
This option can be used to override the allowedCharacterRanges setting.
It allows all values that the allowedCharacterRanges setting allows.
/* eslint regexp/prefer-range: ["error", { "target": "alphanumeric" }] */
/* ✓ GOOD */
var foo = /[0-9]/
var foo = /[a-f]/
var foo = /[!-$]/
var foo = /[!"#$]/
var foo = /[😀-😄]/u
var foo = /[😀😁😂😃😄]/u
/* ✗ BAD */
var foo = /[123456]/
var foo = /[a-cd-f]/
/* eslint regexp/prefer-range: ["error", { "target": "all" }] */
/* ✓ GOOD */
var foo = /[0-9]/
var foo = /[a-f]/
var foo = /[!-$]/
var foo = /[😀-😄]/u
/* ✗ BAD */
var foo = /[123456]/
var foo = /[a-cd-f]/
var foo = /[!"#$]/
var foo = /[😀😁😂😃😄]/u
/* eslint regexp/prefer-range: ["error", { "target": [ "alphanumeric", "😀-😏" ] }] */
/* ✓ GOOD */
var foo = /[0-9]/
var foo = /[a-f]/
var foo = /[!-$]/
var foo = /[!"#$]/
var foo = /[😀-😄]/u
/* ✗ BAD */
var foo = /[123456]/
var foo = /[a-cd-f]/
var foo = /[😀😁😂😃😄]/u
This rule was introduced in eslint-plugin-regexp v0.4.0