Skip to content

Regular expression for matching JavaScript identifiers

License

Notifications You must be signed in to change notification settings

sindresorhus/identifier-regex

Repository files navigation

identifier-regex

Regular expression for matching valid JavaScript identifiers

Install

npm install identifier-regex

Usage

import identifierRegex from 'identifier-regex';

identifierRegex().test('foo');
//=> true

identifierRegex().test('1kg');
//=> false

identifierRegex().test('await'); // Reserved identifier
//=> false

'@x $x #x'.match(identifierRegex({exact: false}));
//=> ['$x']

Important

If you run the regex against untrusted user input in a server context, you should give it a timeout. I do not consider ReDoS a valid vulnerability for this package.

Note

Although globalThis, Infinity, NaN, and undefined are properties of the global object and not identifiers, they are not matched by the regex because they should generally not be used as identifiers.

API

identifierRegex(options?)

Returns a RegExp for matching valid JavaScript identifiers.

options

Type: object

exact

Type: boolean
Default: true

Only match an exact string.

Related

  • is-identifier - Check if a string is a valid JavaScript identifier