--- title: RegExp.prototype.test() slug: Web/JavaScript/Reference/Global_Objects/RegExp/test tags: - JavaScript - Method - Prototype - Reference - RegExp - регулярные выражения translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/test ---
{{JSRef("Global_Objects", "RegExp")}}

Сводка

Метод test() выполняет поиск сопоставления регулярного выражения указанной строке. Возвращает true или false.

Синтаксис

regexObj.test(str)

Параметры

str
Строка, с которой сопоставляется регулярное выражение.

Возвращаемое значение

Логическое значение: true или false.

Описание

Используйте метод test(), если вы просто хотите узнать, находится ли шаблон в строке (он почти аналогичен методу {{jsxref("String.prototype.search()")}}, только вместо индекса шаблона возвращает true или false); для получения дополнительной информации о сопоставлении (но за счёт более медленного выполнения) используйте метод {{jsxref("RegExp.prototype.exec()", "exec()")}} (он аналогичен методу {{jsxref("String.prototype.match()")}}). Как и при вызове метода {{jsxref("RegExp.prototype.exec()", "exec()")}} (или при совместном с ним вызове), метод test(), вызванный несколько раз на одном и том же экземпляре глобального регулярного выражения, будет начинать проверку с конца предыдущего сопоставления.

Примеры

Пример: использование метода test()

Следующий пример печатает сообщение, в зависимости от того, была ли проверка успешной:

function testinput(re, str){
  var midstring;
  if (re.test(str)) {
    midstring = ' содержит ';
  } else {
    midstring = ' не содержит ';
  }
  console.log(str + midstring + re.source);
}

Спецификации

Спецификация Статус Комментарии
ECMAScript 3-е издание. Стандарт Изначальное определение. Реализована в 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')}}

Совместимость с браузерами

{{CompatibilityTable}}
Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatVersionUnknown}}

Примечания по Gecko

До Gecko 8.0 {{geckoRelease("8.0")}} метод test() был реализован неправильно; когда он вызывался без параметров, он проверял на сопоставление предыдущее проверенное значение (свойство RegExp.input) вместо сопоставления со строкой "undefined". Это поведение было исправлено; теперь /undefined/.test() правильно вернёт true вместо ошибки.

Смотрите также