RegExp.prototype.test()

Метод 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 2017 Draft (ECMA-262)
The definition of 'RegExp.test' in that specification.
Draft  

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

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, як це було раніше.

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

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

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