Сводка
Метод 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
вместо ошибки.
Смотрите также
- Глава про регулярные выражения в руководстве по JavaScript
RegExp