--- title: RegExp.prototype.source slug: Web/JavaScript/Reference/Global_Objects/RegExp/source translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/source ---
{{JSRef}}

Властивість sourse повертає  стороку, що містить текст шаблону регулярного виразу, і він немає містити два слеша з обох сторін, а також будь-які прапори регулярного виразу.

{{js_property_attributes(0, 0, 1)}}

Приклад

Використовування source

var regex = /fooBar/ig;

console.log(regex.source); // "fooBar", не містить /.../ і прапори"ig".

Порожні регулярні вирази і як уникнути проблем

Починаючи з ECMAScript 5, властивість джерела більше не повертає порожній рядок для порожніх регулярних виразів. Замість цього, рядок «(? :)» повертається. Крім того, лінія термінатори (such as "\n") врятувалися в даний час.

new RegExp().source; // "(?:)"

new RegExp('\n').source === '\n';  // true до ES5
new RegExp('\n').source === '\\n'; // true,починаючи з ES5

Специфікації

Специфікації Статус Коментарій
ECMAScript 3  {{Spec2('Стандарт')}} Первісне визначення. Реалізовано в JavaScript 1.2. JavaScript 1.5: є властивістю примірника {{jsxref("RegExp")}} а не {{jsxref("RegExp")}} об'єкта.
{{SpecName('ES5.1', '#sec-15.10.7.1', 'RegExp.prototype.source')}} {{Spec2('Стандарт')}} Властивість source для порожніх регулярних виразів тепер повертає "(?:)" замість порожнього рядка. Визначення для відповідної поведінки було додано.
{{SpecName('ES6', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}} {{Spec2('Стандарт')}} Source зараз є властивістю доступу, а не власною властивістю даних.
{{SpecName('ESDraft', '#sec-get-regexp.prototype.source', 'RegExp.prototype.source')}} {{Spec2('Кандидат в рекомендації')}}  

Browser compatibility

{{CompatibilityTable}}
Особливість Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базова підтримка {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
"(?:)" для порожніх регулярних виразів {{CompatNo}} {{CompatGeckoDesktop(38)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}}
Запобігання(вирішення) {{CompatUnknown}} {{CompatGeckoDesktop(38)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Прототип оцінювач властивості {{CompatUnknown}} {{CompatGeckoDesktop(41)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Особливість Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базова підтримка {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
"(?:)" для порожніх регулярних виразів {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(38)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Запобігання(вирішення) {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(38)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}
Прототип оцінювач властивості {{CompatUnknown}} {{CompatUnknown}} {{CompatGeckoMobile(41)}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

Дивіться також