Метод test() виконує пошук на збіг між регулярним виразом і заданим рядком. Повертає true або false.

Синтакс

regexObj.test(str)

Параметри

str
Рядок, що перевіряється регулярним виразом.

Повертає

true якщо є збіг між регулярним виразом та вказаним рядком; інакше, false.

Опис

Використовуйте test() щоразу  коли ви хочете знати чи патерн знайдено у рядку (схоже до методу String.prototype.search(), різниця в тому, що test() повертає булеве значення, коли search() - індекс (якщо знайдено), інакше -1 (якщо не знайдено); якщо потрібно більше інформації (але виконання буде повільніше) використовуйте метод exec() (схожий до методу  String.prototype.match() ). Як і 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
ECMAScript 3rd Edition (ECMA-262) Standard Початкове визначення. Реалізоване у JavaScript 1.2.
ECMAScript 5.1 (ECMA-262)
The definition of 'RegExp.test' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'RegExp.test' in that specification.
Standard  
ECMAScript Latest Draft (ECMA-262)
The definition of 'RegExp.test' in that specification.
Draft  

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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Замітки щодо Gecko

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

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

Мітки документа й учасники

Зробили внесок у цю сторінку: VKorotynskyy, Asfades
Востаннє оновлена: VKorotynskyy,