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.
Thuộc tính accessor global của các instance RegExp trả về liệu cờ g có được sử dụng với biểu thức chính quy này hay không.
Try it
const regex1 = /foo/g;
console.log(regex1.global);
// Expected output: true
const regex2 = /bar/i;
console.log(regex2.global);
// Expected output: false
Mô tả
RegExp.prototype.global có giá trị true nếu cờ g được sử dụng; ngược lại là false. Cờ g chỉ ra rằng biểu thức chính quy nên được kiểm tra đối với tất cả các kết quả khớp có thể trong một chuỗi. Mỗi lần gọi exec() sẽ cập nhật thuộc tính lastIndex của nó, để lần gọi exec() tiếp theo sẽ bắt đầu tại ký tự tiếp theo.
Một số phương thức, chẳng hạn như String.prototype.matchAll() và String.prototype.replaceAll(), sẽ xác nhận rằng, nếu tham số là một regex, nó là global. Các phương thức [Symbol.match]() và [Symbol.replace]() của regex (được gọi bởi String.prototype.match() và String.prototype.replace()) cũng sẽ có hành vi khác nhau khi regex là global.
Accessor set của global là undefined. Bạn không thể thay đổi thuộc tính này trực tiếp.
Ví dụ
>Sử dụng global
const globalRegex = /foo/g;
const str = "fooexamplefoo";
console.log(str.replace(globalRegex, "")); // example
const nonGlobalRegex = /foo/;
console.log(str.replace(nonGlobalRegex, "")); // examplefoo
Đặc tả kỹ thuật
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-regexp.prototype.global> |