--- title: RegExp.prototype.test() slug: Web/JavaScript/Reference/Global_Objects/RegExp/test tags: - Регулярні Вирази - Рекомендації - метод - прототип translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test ---
{{JSRef}}

Метод 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')}}  

Сумісність у браузерах

{{CompatibilityTable}}
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

До версії Gecko 8.0 {{geckoRelease("8.0")}}, test() було реалізовано невірно; коли він визивався без параметрів, то звірявся зі значенням попереднього вводу (властивістю RegExp.input), а не  з рядком "undefined". Це виправлено; зараз /undefined/.test() вірно повертає значення true, а не error, як це було раніше.

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