RegExp.prototype.global
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The global accessor property of RegExp instances returns whether or not the g flag is used with this regular expression.
Try it
const regex1 = /foo/g; console.log(regex1.global); // Expected output: true const regex2 = /bar/i; console.log(regex2.global); // Expected output: false Description
RegExp.prototype.global has the value true if the g flag was used; otherwise, false. The g flag indicates that the regular expression should be tested against all possible matches in a string. Each call to exec() will update its lastIndex property, so that the next call to exec() will start at the next character.
Some methods, such as String.prototype.matchAll() and String.prototype.replaceAll(), will validate that, if the parameter is a regex, it is global. The regex's [Symbol.match]() and [Symbol.replace]() methods (called by String.prototype.match() and String.prototype.replace()) would also have different behaviors when the regex is global.
The set accessor of global is undefined. You cannot change this property directly.
Examples
>Using global
const globalRegex = /foo/g; const str = "fooexamplefoo"; console.log(str.replace(globalRegex, "")); // example const nonGlobalRegex = /foo/; console.log(str.replace(nonGlobalRegex, "")); // examplefoo Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-get-regexp.prototype.global> |