MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

Сводка

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

Синтаксис

regexObj.test(str)

Параметры

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

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

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

Описание

Используйте метод test(), если вы просто хотите узнать, находится ли шаблон в строке (он аналогичен методу String.prototype.search()); для получения дополнительной информации о сопоставлении (но за счёт более медленного выполнения) используйте метод exec() (он аналогичен методу String.prototype.match()). Как и при вызове метода 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.
ECMAScript 5.1 (ECMA-262)
Определение 'RegExp.test' в этой спецификации.
Стандарт  
ECMAScript 6 (ECMA-262)
Определение 'RegExp.test' в этой спецификации.
Кандидат в рекомендации  

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

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

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

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

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

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

 Внесли вклад в эту страницу: Mingun, InoY
 Обновлялась последний раз: Mingun,