--- title: RegExp.prototype.test() slug: Web/JavaScript/Reference/Global_Objects/RegExp/test tags: - Регулярні Вирази - Рекомендації - метод - прототип translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test ---
Метод test() виконує пошук на збіг між регулярним виразом і заданим рядком. Повертає true або false.
regexObj.test(str)
strtrue якщо є збіг між регулярним виразом та вказаним рядком; інакше, false.
Використовуйте test() щоразу коли ви хочете знати чи патерн знайдено у рядку (схоже до методу {{jsxref("String.prototype.search()")}}, різниця в тому, що test() повертає булеве значення, коли search() - індекс (якщо знайдено), інакше -1 (якщо не знайдено); якщо потрібно більше інформації (але виконання буде повільніше) використовуйте метод {{jsxref("RegExp.prototype.exec()", "exec()")}} (схожий до методу {{jsxref("String.prototype.match()")}} ). Як і {{jsxref("RegExp.prototype.exec()", "exec()")}} (або в комбінації з ним), test(), що викликаний декілька разів на одному і тому ж глобальному екземплярі регулярного виразу, буде швидшим ніж попередні виконування.
test()Простий приклад, що перевіряє чи "hello" знаходиться на самому початку рядка , повертає булеве значення.
var str = 'hello world!'; var result = /^hello/.test(str); console.log(result); // true
Наступний приклад виводить у лог сповіщення результату проходження тесту:
function testinput(re, str) {
var midstring;
if (re.test(str)) {
midstring = ' contains ';
} else {
midstring = ' does not contain ';
}
console.log(str + midstring + re.source);
}
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('ES3')}} | {{Spec2('ES3')}} | Початкове визначення. Реалізоване у JavaScript 1.2. |
| {{SpecName('ES5.1', '#sec-15.10.6.3', 'RegExp.test')}} | {{Spec2('ES5.1')}} | |
| {{SpecName('ES6', '#sec-regexp.prototype.test', 'RegExp.test')}} | {{Spec2('ES6')}} | |
| {{SpecName('ESDraft', '#sec-regexp.prototype.test', 'RegExp.test')}} | {{Spec2('ESDraft')}} |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
| Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|
| Basic support | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
До версії Gecko 8.0 {{geckoRelease("8.0")}}, test() було реалізовано невірно; коли він визивався без параметрів, то звірявся зі значенням попереднього вводу (властивістю RegExp.input), а не з рядком "undefined". Це виправлено; зараз /undefined/.test() вірно повертає значення true, а не error, як це було раніше.