--- 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)
str
true
якщо є збіг між регулярним виразом та вказаним рядком; інакше, 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, як це було раніше.