Метод
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 |
Сумісність у браузерах
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, як це було раніше.